一、如果浮動元素定寬
1.可以設置margin:0 auto居中
#container{
width:400px;
height:110px;
border:1px solid black;
}
.content{
width:100px; /*設置同內容元素相同寬度*/
margin: 0 auto;
}
.content div{
width:100px;
height:100px;
float:left;
}
<div id="container">
<div class="content">
<div class="left">left</div>
</div>
</div>
2.先設置它的 margin-left:50%,這個時候元素的左邊緣正好位於其父元素的中央,然后設置其position:relative;left:負本元素寬度的一半,這樣的目的是將本元素向左移動其寬度的一半,這個時候可保證本元素的中間點位於父元素的中央。
<!DOCTYPE html>
<html>
<head>
<title>居中一個浮動元素</title>
<style type="text/css">
.content{
height: 500px;
width: 500px;
border: 1px solid red;
}
.left{
height:100px;
width: 100px;
border: 1px dashed blue;
float: left;
/*水平居中*/
margin-left: 50%;
position: relative;
left: -50px;
}
</style>
</head>
<body>
<div class="content">
<div class="left"></div>
</div>
</body>
</html>
二、如果浮動元素不定寬
如果浮動元素不定寬,在外層包裹一個div .wrap {position:relative;//為了讓元素可以偏移float:left;//讓元素具有寬度,利用BFC元素特性 left:50%;} .content{position:relative;float:left;right:50%;},由於.wrap也浮動,為了不影響其他元素,需要清除浮動,實現代碼如下(子元素父元素一起浮動)
<div class="wrap">
<div class="content">123</div>
</div>
.content {
width: 100px;
height: 100px;
background-color: #e92322;
float: left;
position: relative;
left: -50%;
}
.wrap {
float: left;
position: relative;
left: 50%;
}
