あなたは著者(あなた)で示される幅は、ブラウザではなく、ブラウザが行う他の方法によって適用されているテーブルのアルゴリズムを得るためにtable-layout: fixed
で(少なくともFirefoxの、table-row
のために、そしてtable-cell
と)display: table
を使用することができますそれらのコンテンツにセルの幅を適合させるのが最良です。
最後のセルを除くすべての「セル」に50pxの幅を適用します。
Fxの18はul
にdisplay: table
を設定する上で期待される効果(に行として働く影要素別名足りない部分を作成する必要がブラウザに関連する何かを持っていなかったので、私はそのnav
親にul
とtable
にtable-row
を使用-の間に)。 非常に説明的です(この要素は表としてレンダリングする必要があります。この要素は行として、これらはセルとして)役立ちます。ここ
フィドル:http://jsfiddle.net/X6UX9/1/
HTML:
<nav>
<ul>
<li> //width = 50px</li>
<li>//width = 50px</li>
<li class="last">//width (...) 300px</li>
</ul>
</nav>
CSS:
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
nav {
display: table;
table-layout: fixed;
width:400px;
height:50px;
}
nav > ul {
display: table-row;
}
nav li {
display: table-cell;
padding:5px;
outline: 1px dashed blue;
}
nav li:not(:last-child) {
width: 50px;
}
PS:幅を設定するための:last-child
を使用して、私のようにIE9 +、ないIE8 +と互換性がありますフィドルで述べた...
編集:oops .last
クラスが最後に表示されませんでしたli
。さて、あなたは考えを得る:)
edit2:このクラスを使用しているフィドル:not()
も:last-child
擬似
ナビは常に400pxの幅ですか?それともパーセンテージを使用するのでしょうか? –
常に設定された幅。 –