#menu
800px 幅の div という名前があります。その中に、8 つのナビゲーション リンクがあります。その中の要素はできるだけ長くし、すべて同じ幅にする必要がありますが、一緒に 1 つの行で親 div を埋める必要があります (つまり、折り返しなしで)。
各要素の間には、1 ピクセルの境界線 (またはおそらく 1 ピクセルのサイド マージン) が必要です。現在のページのリンク (リンク#current
が適用されているもの) を除くすべてのリンクには、1px solid #505050
下の境界線が必要です。現在のページ リンクには、下の境界線が表示されないようにする必要があります (ナビゲーション タブがコンテンツ div と「マージ」されるようにするため)。
私の現在のコードは、私がすでに望んでいることのほとんどを実行しますが、リンク間の境界線/マージンがありません...境界線/マージンを側面に追加すると、明らかに、現在の12.5%
幅 (以下の CSS コードを参照) が不正確になり、クロスブラウザー#menu
のdivを満たすように微調整しないでください(少なくとも 1 つのブラウザーで、要素が div をオーバーフローするか、塗りつぶしません)。#menu
CSS:
#menu {
border:1px solid #505050;
border-bottom:none;
width:800px;
}
#menu a {
display:inline-block;
outline:none;
text-align:center;
width:12.5%;
padding-top:12px;
padding-bottom:10px;
background-image:url(/img/menu.gif);
border-bottom:1px solid #505050;
color:#D9D9D9;
font-weight:bold;
font-size:13px;
font-family:Verdana, sans-serif;
text-shadow:1px 1px #505050;
}
#menu #current {
background-image:url(/img/menu_current.gif);
color:#505050 !important;
border-bottom-color:#D9D9D9;
text-shadow:none;
}
HTML:
<div id="menu">
<a href="/page1.html" id="current">Link 1</a>
<a href="/page2.html">Link 2</a>
<a href="/page3.html">Link 3</a>
<a href="/page4.html">Link 4</a>
<a href="/page5.html">Link 5</a>
<a href="/page6.html">Link 6</a>
<a href="/page7.html">Link 7</a>
<a href="/page8.html">Link 8</a>
</div>
2 つの要件:
- このソリューションは、IE6 以降の IE バージョン、および最近のバージョンの Firefox、Chrome、Safari、Opera で動作するはずです。
- JavaScript は使用しないでください
次の場合は大きなプラスです。
- このソリューションは、要素の幅を再調整することなくリンクを追加できるように機能します
もちろん、CSS/HTML を完全に書き直すこともできます。上記のコードを再利用する必要はありません。私は独自のアプローチを示しているだけです。また、text-shadow ルールが IE6 でサポートされていないことは承知していますが、必須ではありません。
現在の様子
期待される結果