回答済み
私は頭がおかしくなっていると思い始めています...現在、ヘッダーでマージン0自動化されたシンプルなトップナビゲーションを設定しようとしています。<li>
それぞれ幅が 200px の子要素が 5 つ含まれています。それでも正しく計算できれば、幅は 1000px になります。ただし、すべての子を保持するには、 top<ul>
要素に 1016px の幅が必要です。これがどこから来たのかわかりません。すべてのマージン、パディングなどは、CSS リセットによって削除されます。コードは次のとおりです。
HTML
<div id="header-wrapper">
<div id="header">
<ul id="head-menu">
<li class="head-menu-item"><a href="" class="head-menu-item-link">Navlink</a></li>
<li class="head-menu-item"><a href="" class="head-menu-item-link">Navlink</a></li>
<li class="head-menu-item"><a href="" class="head-menu-item-link">Navlink</a></li>
<li class="head-menu-item"><a href="" class="head-menu-item-link">Navlink</a></li>
<li class="head-menu-item"><a href="" class="head-menu-item-link">Navlink</a></li>
</ul>
</div>
</div>
CSS
#header-wrapper { width: 100%; height: 56px; position: relative }
#header { width: 100%; height: 56px; background: #111; position: absolute; }
#head-menu { width: calc(5*200px); margin: 0 auto;}
.head-menu-item { display: inline-block }
.head-menu-item-link { display: inline-block; padding: 20px; width: calc(200px - 40px); text-align: center }
更新 29.09.13
空白をコメントアウトしたり、負の左マージンを使用したりする代わりに、次の構文を使用しただけです。
</li><li class="head-menu-item"><a href="" class="head-menu-item-link">Navlink</a>
</li><li class="head-menu-item"><a href="" class="head-menu-item-link">Navlink</a>
これにより、コードをあまり変更せずに簡単に実行でき、クリーンな状態を維持できます。