水平居中總結-不定寬塊狀元素方法(三)
方法三:通過給父元素設置 float,然後給父元素設置 position:relative 和 left:50%,子元素設置 position:relative 和 left:-50% 來實現水平居中。
代碼如下:
<body> <div class="container"> <ul> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> </ul> </div> </body>
css代碼:
<style> .container{ float:left; position:relative; left:50% } .container ul{ list-style:none; margin:0; padding:0; position:relative; left:-50%; } .container li{float:left;display:inline;margin-right:8px;} </style>
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
.wrap{
float:left;//<strong>塊元素不那麼長,變得適應文字的長度了</strong>
position:relative;
left:50%;//<strong>右移父元素寬的50%</strong>
background-color:rgba(229,60,55,0.5);
}
.wrap-center{
background-color:rgba(73,172,72,0.5);
position:relative;
left:-50%;//<strong>左移父元素寬的50%</strong>
}
</style>
</head>
<body>
<div class="wrap">
<div class="wrap-center">我們來學習一下這種方法。</div>
</div>
</body>
</html>
父元素left:50% 左邊留出50%;
子元素 left:-50% ,由於塊元素不設寬 默認是父元素內的100%寬度,所以和父元素重合,寬爲50%,再左移50%,相當於移原來位置的50%,
這種方法可以保留塊狀元素仍以 display:block 的形式顯示,優點不添加無語議表標籤,不增加嵌套深度,但它的缺點是設置了 position:relative,帶來了一定的副作用。
這三種方法使用得都非常廣泛,各有優缺點,具體選用哪種方法,可以視具體情況而定。