我今天想到了一個討論,在這個討論中,我想知道兩個div彼此相鄰的最高效的方式。顯示:flex; vs calc();性能
一方面,我喜歡使用display:flex;
,另一方面有使用calc()
的選項,原因是我們的div有填充,我們需要通過填充來減小寬度。案例:
<div class='container'>
<div class='inner'></div>
<div class='inner'></div>
</div>
兩者都應該在50%的寬度。默認的CSS是:
* {
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
-moz-box-sizing: border-box; /* Firefox, other Gecko */
box-sizing: border-box; /* Opera/IE 8+ */
}
.container {
height: 100%;
width: 100%;
}
.inner {
width: 50%;
padding: 20px;
}
的display:flex;
的辦法是補充:
.container {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
flex-wrap: nowrap;
align-items: stretch;
align-content: stretch;
}
的calc()
方法是:
.inner {
width: calc(100% - 40px);
display: inline-block;
}
或:
.inner {
width: calc(100% - 40px);
float: left;
}
我做不想要任何表l ayout在我的CSS。 此外,我們不需要照顧瀏覽器版本,這應該只在最新版本中才有效。
建議使用什麼?什麼有更多的表現?
我已經找到一篇文章,表現已經提高了很多。 Link
這也是我的用例,一個同事不喜歡這個顯示類型,所以我們討論了。 此外,我從來沒有注意到任何性能問題,這就是爲什麼我想知道什麼是現在通常更快。 – 2014-11-14 14:08:22
我不知道任何直接的測試結果,但'display:flex'在我的經驗中表現更好 – 2014-11-14 14:16:31