これは、元のコンセプトを修正する 1 つの方法です。
CSS は次のとおりです。
.list {
padding:0;
margin:0;
list-style-type:0;
overflow: hidden;
height: 42px;
}
.list li {
display: inline-block;
line-height: 40px;
padding: 0 5px;
border:1px green solid;
margin:0;
text-align:center;
}
親コンテナで.list
、子要素を囲む高さを設定します。この場合、40px を選択し、境界を考慮して 2px を追加しました。
また、疑似要素によって生成された 2 行目を非表示にするには、overflow: hidden
オンに設定します。.list
li
要素でline-height: 40px
、テキストを垂直方向に中央揃えにする設定を行います。
高さが固定されているため、2 番目の行が非表示になり、デザインを壊す余分な空白なしで、境界線などで親のスタイルを設定できます。
デモ: http://jsfiddle.net/audetwebdesign/WaRZT/
フールプルーフではありません...
場合によっては、1 行に収まりきらないほど多くのリンクがある場合があります。その場合、アイテムによって 2 番目の行が強制的に形成される可能性があり、オーバーフローが非表示になっているため、アイテムが表示されません。
等間隔ボーダーボックス
境界ボックスを均等に配置するには、li
要素に幅を設定する必要があります。
コンテンツが CMS からのもので、コーディングをある程度制御できる場合は、クラス名を動的に生成して、定義済みの CSS ルールを使用して正しい幅を設定できます。次に例を示します。
.row-of-4 .list li { width: 24%; }
.row-of-5 .list li { width: 19%; }
.row-of-6 .list li { width: 16%; }
参照: http://jsfiddle.net/audetwebdesign/WaRZT/3/