亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

CSS各種居中布局方法匯總

  發(fā)布時(shí)間:2016-01-22 16:40:39   作者:佚名   我要評(píng)論
這篇文章主要針對(duì)CSS各種居中布局方法為大家進(jìn)行詳細(xì)匯總,感興趣的小伙伴們可以參考一下

本篇文章討論居中情況設(shè)定為總寬度不定,內(nèi)容寬度不定的情況。(改變大小時(shí),仍然居中)。

特別說(shuō)明:在元素設(shè)置position:absolute;來(lái)設(shè)置居中效果時(shí),除去博客下介紹的css3方法外,還可以使用負(fù)的margin來(lái)居中,這樣解決了兼容性的問(wèn)題,但是只適用于寬高已知的情況(因?yàn)樨?fù)的偏移量為元素寬高的一半)。寬高改變時(shí),不再是居中效果。

在這些布局中的子元素,因?yàn)槠鋵傩栽O(shè)置,都默認(rèn)為內(nèi)容寬度。

本文所有居中的例子,只討論css的實(shí)現(xiàn),html代碼統(tǒng)一如下:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. <div class="parent">   
  2.     <div class="child">demo</div>   
  3. </div>   

1. 水平居中

1.1 inline-block配合text-align

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .parent{   
  2.     text-aligncenter;   
  3. }   
  4. .child{   
  5.     displayinline-block;   
  6. }   

優(yōu)點(diǎn):兼容性非常好,只需要添加只需要在子元素的css中添加*display:inline和*zoom:1就可兼容到IE6、7;缺點(diǎn):內(nèi)部文字也會(huì)水平居中,需消除影響。

1.2 table配合margin

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .child{   
  2.     display:table;   
  3.     margin: 0 auto;   
  4. }   

優(yōu)點(diǎn):設(shè)置特別簡(jiǎn)單,只需對(duì)子元素進(jìn)行設(shè)置,支持IE8+,需支持IE6,7時(shí),可更換子元素為表格結(jié)構(gòu)。

1.3 abasolute配合transform

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .parent{   
  2.     position:relative;   
  3. }   
  4. .child{   
  5.     position:absolute;   
  6.     left:50%;   
  7.     transform: translateX(-50%);   
  8. }   

優(yōu)點(diǎn):居中元素不對(duì)其他元素產(chǎn)生影響。缺點(diǎn):CSS3新屬性支持IE9+,低版本瀏覽器不支持。

2. 垂直居中

2.1 table-cell配合vertical-align

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .parent{   
  2.     displaytable-cell;   
  3.     vertical-align:middle;   
  4. }   

優(yōu)點(diǎn):設(shè)置簡(jiǎn)單,只需對(duì)父元素進(jìn)行設(shè)置,兼容到IE8+,需兼容地版本瀏覽器時(shí),可更換div為表格結(jié)構(gòu)。

2.2 absolute配合tranform

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .parent{   
  2.     position:relative;   
  3. }   
  4. .child{   
  5.     position:absolute;   
  6.     top: 50%;   
  7.     transform: translateY(-50%);   
  8. }   

優(yōu)點(diǎn):居中元素不對(duì)其他元素產(chǎn)生影響。缺點(diǎn):CSS3新屬性支持IE9+,低版本瀏覽器不支持。

3. 水平+垂直居中

3.1 inline-block配合text-align加上table-cell配合vertical-align

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .parent{   
  2.     displaytable-cell;   
  3.     vertical-align:middle;   
  4.     text-align:center;   
  5. }   
  6. .child{   
  7.     displayinline-block;   
  8. }   

優(yōu)點(diǎn):綜合前兩中方法,兼容性好!支持IE8+,低版本瀏覽器也好兼容。缺點(diǎn):設(shè)置較為復(fù)雜。

3.2 absolute配合transform

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .parent{   
  2.     positionrelative;   
  3. }   
  4. .child{   
  5.     positionabsolute;   
  6.     left: 50%;   
  7.     top: 50%;   
  8.     transform: translate(-50%,-50%);   
  9. }   

優(yōu)點(diǎn):居中元素不對(duì)其他元素產(chǎn)生影響。缺點(diǎn):CSS3新屬性支持IE9+,低版本瀏覽器不支持。

4. 全能的flex

css3新增布局屬性,布局簡(jiǎn)單,強(qiáng)大,性能略差,只支持IE10+,在移動(dòng)端使用較多。

4.1 水平居中

CSS Code復(fù)制內(nèi)容到剪貼板
  1. /*當(dāng)父元素設(shè)置display: flex;時(shí),子元素為flex-item,默認(rèn)為內(nèi)容寬度。*/  
  2. .parent{   
  3.     display: flex;   
  4.     justify-contentcenter;   
  5. }   
  6. /* 在設(shè)置子元素為margin: 0 auto;時(shí),可刪除父元素的justify-content: center;同樣可以達(dá)到居中效果*/  
  7. /*  .child{  
  8.         margin: 0 auto;   
  9.     }*/       

4.2 垂直居中

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .parent{   
  2.     display: flex;   
  3.     align-items: center;   
  4. }   

4.3 水平垂直居中

CSS Code復(fù)制內(nèi)容到剪貼板
  1. parent{       
  2.     display: flex;       
  3.     justify-contentcenter;       
  4.     align-items: center;       
  5. }       
  6. /*如同flex布局的第一部分一樣這里也可以對(duì)子元素進(jìn)行下面的設(shè)置:同時(shí)刪除上面的除去display外的其他屬性*/      
  7. /*  .child{     
  8.         margin:auto;     
  9.     } */      

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

最新評(píng)論