1. 程式人生 > >浮動元素居中顯示

浮動元素居中顯示

方法一:

html程式碼如下:

<span style="font-size:12px;"><span style="white-space:pre">	</span><body>
		<h1>浮動元素水平居中</h1>
		<div class="wrap clearfix">
			<ul class="page">
				<li><a href="">網站建設</a>|</li>
				<li><a href="">網頁素材</a>|</li>
				<li><a href="">網頁特效</a>|</li>
				<li><a href="">設計分享</a>|</li>
				<li><a href="">建站教程</a>|</li>
				<li><a href="">網站模板</a>|</li>
				<li><a href="">酷站賞析</a></li>
			</ul>
		</div>
		<div class="clear"></div>
		<p class="end">供學習交流</p>
	</body></span>
css程式碼如下:
<span style="font-size:12px;"><span style="white-space:pre">		</span><style type="text/css" >
			body{
				margin:0 auto;
				padding:0;
				lisy-style:none;
				font-size:14px;
				font-family:Tahoma, Geneva, sans-serif;
				border:4px solid black;
				text-align:center;	
			}
			a{
				text-decoration:none;
			}
			<span style="color:#990000;"><strong>.clearfix:after{/*這樣只能清除子元素的浮動,不能清除自身的浮動*/
				content:"";
				height:0;
				visibility:hidden;
				display:block;
			}
			.clearfix{
				zoom:1;
			}/*不加這一句也可以清除子元素的浮動*/</strong></span>
			h1{
				text-align:center;
				padding:10px;
				font-size:20px;
				margin:30px 0;
			}
			.wrap{
				position:relative;
				margin:20px auto;
				text-align:center;/*這兩句在這裡不能讓li居中顯示*/
				padding:10px 0;
				background:orange;
				overflow:hidden;
				
			}
			.page{
				/*text-align:center;這一句放在這裡不能讓元素居中顯示*/
				float:left;
				position:relative;
				<span style="color:#cc0000;"><strong>left:50%;/*這一句放在這裡讓元素居中顯示*/</strong></span>
			}
			.page li{
				float:left;
				position:relative;
				<span style="color:#cc0000;"><strong>right:50%;/*加上這一句再配合上面的left:50%  li元素才能真正的居中顯示*/</strong></span>
				overflow:hidden;
				margin:0 5px;
			}
		</style></span>

總結:這裡主要用到position:relative配合left:50%的技巧,相容各瀏覽器,需要注意的是IE7下需要設定overflow:hidden;來解決無法設定子元素寬度的BUG。
注意,只有清楚li元素的浮動後,“供學習交流”才能居中顯示。

方法二:

html程式碼如下:

<span style="font-size:12px;"><span style="white-space:pre">	</span><body>
		<h1>浮動元素水平居中</h1>
		<div class="wrap clearfix">
			<strong><span style="color:#990000;"><div class="inwrap"></span></strong>
				<ul class="page">
					<li><a href="">網站建設</a>|</li>
					<li><a href="">網頁素材</a>|</li>
					<li><a href="">網頁特效</a>|</li>
					<li><a href="">設計分享</a>|</li>
					<li><a href="">建站教程</a>|</li>
					<li><a href="">網站模板</a>|</li>
					<li><a href="">酷站賞析</a></li>
				</ul>
			</div>
		</div>
		<p class="end">供學習交流</p>
	</body></span>

css程式碼如下:
<span style="font-size:12px;"><span style="white-space:pre">		</span><style type="text/css" >
			body{
				margin:0 auto;
				padding:0;
				lisy-style:none;
				font-size:14px;
				font-family:Tahoma, Geneva, sans-serif;
				border:4px solid black;
				text-align:center;	
			}
			a{
				text-decoration:none;
			}
			.clearfix:after{/*這樣只能清除子元素的浮動,不能清除自身的浮動*/
				content:"";
				height:0;
				visibility:hidden;
				display:block;
			}
			.clearfix{
				zoom:1;
			}/*不加這一句也可以清除子元素的浮動*/
			h1{
				text-align:center;
				padding:10px;
				font-size:20px;
				margin:30px 0;
			}
			.wrap{
				position:relative;
				margin:20px auto;
				text-align:center;/*這兩句在這裡不能讓li居中顯示*/
				padding:10px 0;
				background:orange;
				overflow:hidden;	
			}
			.inwrap{
				float:left;
				position:relative;
				<span style="color:#cc0000;"><strong>left:50%;</strong></span>
			}
			.page{
				/*text-align:center;這一句放在這裡不能讓元素居中顯示,對於text-align屬性,需要進一步學習*/
				float:left;
				position:relative;
				<strong><span style="color:#cc0000;">left:-50%;</span></strong>
				list-style:none;
			}
			.page li{
				float:left;
				margin:0 5px;
			}
			.page li a{
				float:left;
				display:block;	
			}
		</style></span>
總結:這種方法與第一種方法的不同之處在於,多套了一層div,left:-50%,更合理一些,可以避免一些不必要的IE BUG,這種float元素居中的方式可以擴充套件應用到很多元素中。

顯示的結果圖如下: