關於box,flebox,flex的兼容性問題測試


關於box,flebox,flex,題主以前也是傻傻的分不清,於是下午查了些資料,資料來說對於盒型布局介紹的較多,然而對於flex版本的來說,並不是很多,也不是很詳細(可能個人搜索關鍵字不對,然而不要在意這些細節),俗話說自己動手豐衣足食嘛,所以就寫了幾個demo,然后有了一點總結,在這里分享給大家,如果有什么錯誤的話,可以看我的小尾巴找我的聯系方式,留言給我,謝謝。

說起來讓未知高度的元素在父級中垂直居中這個難題,一直以來都是用的table來解決的,所以我就試着用css3的屬性來解決,找到了flex,查了下資料后,才發下以下幾點:

1、display:box;//其實是09年css3還不是很規范的時候推出的屬性,所以在游覽器中的表現也是有所不足。(安卓4.4版本以下支持)

2、display:flexbox; // 其實是最新版flex的一種過渡的屬性,其只有IE10支持,但是由於IE10的更新,其實IE10已經支持了最新版的display:flex;所以我們常看到的網上的一堆的flex的兼容代碼其實是不必要加上flexbox。

3、display:flex;//是最新版的flex的屬性,IE10,FF,GG,安卓4.4以上,ios7以上的都是支持的(沒測到具體的版本,個人感覺沒必要)

4、其實還有一個很有趣的現象:如果你的用戶群體是非IE內核的話(手機端),其實你完全可以用box來寫,具體代碼如下:

display:box; 安卓4.4一下的版本和舊點的瀏覽器(注意最新的FF,GG是不支持這個屬性的)

如果想讓他們支持的話你可以加這樣寫:-webkit-display:box; -moz-display:box;加上前綴以后這些最新的瀏覽器就會向下支持這些屬性,是不是很叼的感覺,但是坑爹的IE系列不支持。

5、如果兼容全部的瀏覽器的話其實這樣寫即可:

display:box;

/*

display:-webkit-box;

display:-moz-box;

*/

display:flex;

align-items: center;//最新版的垂直居中

box-align:center;//老版本的垂直居中

 /*-webkit-box-align:center;

 -moz-box-align:center;*/其實個人覺得帶有注釋符的部分是可以省略的,沒辦法測試安卓4.4和低版本瀏覽器,所以先放上去,但是可以得到一點display:flexbox是沒必要寫的,親測可用。

最后,謝謝大家的閱讀,如果有什么錯誤或者資料可以M我QQ,請填寫好備注(博客園)即可。

 


免責聲明!

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



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