為什么 .nav-tabs.nav-justified > li { display: table-cell; width: 1%; }
.nav-tabs.nav-justified > li { display: table-cell; width: 1%; ?} ? width:1%;為什么?
.nav-tabs.nav-justified > li { display: table-cell; width: 1%; ?} ? width:1%;為什么?
2016-06-21
舉報(bào)
2016-09-05
我也覺得很奇怪為什么是1%,于是今天實(shí)驗(yàn)了一下,其實(shí)width不必是1%,這個(gè)值取決于你cell里內(nèi)容的長(zhǎng)度。舉個(gè)例子,如果cell里輸入‘one’,在chrome中其長(zhǎng)度是27個(gè)像素,我設(shè)置包裹它的div的長(zhǎng)度是1000px,那么width的值就可以設(shè)置為100/(1000/27)約為2.7%,那么小于2.7%的值都會(huì)使cell完整的填充div且cell的長(zhǎng)度相等,一般都不會(huì)小于1%,所以這個(gè)寬度就有它的道理了。由于沒有chrome的源碼,無從知道table cell寬度的算法,但我通過實(shí)驗(yàn)得到了一個(gè)可信的算法:我在div中輸出了10個(gè)‘one’,當(dāng)width小于10%大于2.7%的時(shí)候比較簡(jiǎn)單,不會(huì)填滿div,最右邊有空白區(qū)域,其大小直接用減法即可得到,不多說。當(dāng)width大于10%的時(shí)候最右一個(gè)cell寬度坍塌,中間的cell長(zhǎng)度也是不等的,其算法為
計(jì)算出可以放多少個(gè)cell,比如width=15%,可以放6.666666...個(gè)‘one’,可是我要放10個(gè)
于是要保證有3個(gè)one是最小的寬度:27px,最右邊的3個(gè)one就是了
剩余的寬度:1000-27*3=919px,每個(gè)cell的寬度919/6.666....=137.85就是138px,所以有6個(gè)138px寬的cell
剩下的一個(gè)cell的寬度:1000-6*138-27*3=91px
改變width=17%,上面的算法依然成立。
2016-06-25
width:1%;?防止沒有內(nèi)容時(shí),造成整個(gè)布局的坍塌
2016-06-22
可能是格子之間的間隔距離吧