亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么 .nav-tabs.nav-justified > li { display: table-cell; width: 1%; }

.nav-tabs.nav-justified > li { display: table-cell; width: 1%; ?} ? width:1%;為什么?

正在回答

3 回答

我也覺得很奇怪為什么是1%,于是今天實驗了一下,其實width不必是1%,這個值取決于你cell里內容的長度。舉個例子,如果cell里輸入‘one’,在chrome中其長度是27個像素,我設置包裹它的div的長度是1000px,那么width的值就可以設置為100/(1000/27)約為2.7%,那么小于2.7%的值都會使cell完整的填充div且cell的長度相等,一般都不會小于1%,所以這個寬度就有它的道理了。由于沒有chrome的源碼,無從知道table cell寬度的算法,但我通過實驗得到了一個可信的算法:我在div中輸出了10個‘one’,當width小于10%大于2.7%的時候比較簡單,不會填滿div,最右邊有空白區域,其大小直接用減法即可得到,不多說。當width大于10%的時候最右一個cell寬度坍塌,中間的cell長度也是不等的,其算法為

  1. 計算出可以放多少個cell,比如width=15%,可以放6.666666...個‘one’,可是我要放10個

  2. 于是要保證有3個one是最小的寬度:27px,最右邊的3個one就是了

  3. 剩余的寬度:1000-27*3=919px,每個cell的寬度919/6.666....=137.85就是138px,所以有6個138px寬的cell

  4. 剩下的一個cell的寬度:1000-6*138-27*3=91px

  5. 改變width=17%,上面的算法依然成立。

    http://img1.sycdn.imooc.com//57cd4041000150d012540435.jpg

3 回復 有任何疑惑可以回復我~
#1

俠客島的含笑

你為什么不用27直接除以1000,
2016-12-28 回復 有任何疑惑可以回復我~

width:1%;?防止沒有內容時,造成整個布局的坍塌

1 回復 有任何疑惑可以回復我~
#1

起個名真無語 提問者

那為什么不是min-width:1%;???
2016-06-27 回復 有任何疑惑可以回復我~

可能是格子之間的間隔距離吧

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么 .nav-tabs.nav-justified > li { display: table-cell; width: 1%; }

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號