css兩端對齊——div+css布局實現2端對齊的4種方法總結


div+css布局實現2端對齊是我們網頁排版中經常會使用到的,這篇文章將總結一下可以實現的方法:

html結構

實現demo里面的div通過Css進行2端對齊。

1 <div class="box">
2     <div class="demo">
3         <div>1</div>
4         <div>2</div> 
5         <div>3</div>
6     </div>
7 </div>

 

1.margin負值的方式

該方法需要外面多嵌套一層來實現,通過元素的間距,做為中間層的margin溢出值來實現

 1 <style>
 2 .box{
 3      width:300px;margin:auto;overflow:hidden;border:1px solid #ddd;
 4 }
 5 .box .demo{
 6     margin-left:-10px;width:310px
 7 }
 8 .box .demo div{
 9      width:93.333px;/*(計算:(300-10*2)/3)*/
10      float:left;
11      margin-left:10px;
12 }
13 </style>

 

 

2.display:inline-block/text-align:justify方式

justify方式比較簡單方便。只要一個簡單元素做了聲明,里面的元素就自動等間距兩端對齊布局啦!根本無需計算每個列表元素間的margin間距,更不用去修改父容器的寬度。

注意一點:demo結構內元素必須存在【換行符】或【空格符】,否則直接連着寫將不會生效

 1 <style>
 2 .demo{
 3      margin:0;padding:0;
 4      text-align:justify;
 5      text-align-last:justify;/*解決IE的支持*/
 6      line-height:0;/*解決標准瀏覽器容器底部多余的空白*/
 7 }
 8 @media all and (-webkit-min-device-pixel-ratio:0){
 9   .demo{
10      font-size:0;/*webkit清除元素中使用[換行符]或[空格符]后,最后元素多余的空白*/
11   }
12 }
13 .demo:after{/*text-align-last:justify只有IE支持,標准瀏覽器需要使用 .demo:after 偽類模擬類似效果*/
14      display:inline-block;
15      overflow:hidden;
16      width:100%;
17      height:0;
18      content:'';
19      vertical-align:top;/*opera瀏覽器解決底部多余的空白*/
20 }
21 .demo div{
22      width:20%;
23      display:inline-block;
24      text-align:center;/*取消上層元素的影響*/
25      text-align-last:center;
26      font-size:12px;
27 }
28 </style>

 

3.css3 屬性 space-between

該方法基於webkit內核的webapp開發和winphone IE10及以上,常用於移動端布局。

 1 <style>
 2 .demo{
 3     display:-webkit-box;
 4     display:-webkit-flex;
 5     display:-ms-flexbox;
 6     display:flex;
 7     -webkit-box-pack:justify;
 8     -webkit-justify-content:space-between;
 9     -ms-flex-pack:justify;
10     justify-content:space-between;
11 }
12 
13 .demo div{
14      width:30%; 
15 }
16 </style>

辦公資源網址導航 https://www.wode007.com

4.css3屬性column-count

column屬性是多列布局,使用column來實現兩端對齊只需要設置模塊的個數跟column的列數一致即可,推薦使用於移動端布局

 1 <style>
 2 .demo{
 3      -webkit-column-count:3;-moz-column-count:3;column-count:3;
 4      -webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px; 
 5 }
 6 
 7 .demo div{
 8      
 9 }
10 </style>

 

完結~~~~~有更好的實現請留言哦


免責聲明!

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



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