如何讓設置浮動的元素水平居中


一、如果浮動元素定寬

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%;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM