如何居中一個設定了浮動的元素
阿新 • • 發佈:2019-01-03
對於一個沒有浮動的元素,我們通常可以通過對其設定margin:0 auto;
來實現元素的居中,但是這個方法對於浮動元素卻失去了作用,其實我們可以理解的是,在脫離文件流後,浮動的力量其實就是auto
的力量,所以他它會自動向左浮動。
那麼,此情此景,應該怎麼樣來實現居中的效果呢?仔細考慮,會有這樣一個方法。
首先給此元素設定一個寬度值,先設定它的 margin-left:50%
,這個時候元素的左邊緣正好位於其父元素的中央,然後設定其position:relative;left:
負本元素寬度的一半,這樣的目的是將本元素向左移動其寬度的一半,這個時候可保證本元素的中間點位於父元素的中央。垂直居中:display: table-cell;vertical-align: middle;
<!DOCTYPE html>
<html>
<head>
<title>居中一個浮動元素</title>
<style type="text/css">
.content{
height: 500px;
width: 500px;
border: 1px solid red;
/*垂直居中*/
display: table-cell;
vertical-align : middle;
}
.left{
height:100px;
width: 100px;
border: 1px dashed blue;
/*水平居中,但設定浮動後失效
margin: 0 auto;*/
float: left;
/*水平居中*/
margin-left: 50%;
position: relative;
left: -50 px;
}
</style>
</head>
<body>
<div class="content">
<div class="left"></div>
</div>
</body>
</html>
效果如下: