次のような CSS を使用して、ページ全体 (ナビゲーション メニュー内) にインラインで表示される可変数の LI があります。
ul.nav{
margin: 0;
padding: 0;
text-align: center;
}
ul.nav li{
margin: 0;
padding: 5px 10px;
list-style: none;
display: inline-block;
}
ページを狭くすると、ナビゲーション メニューは折り返されますが、各行の項目数を均等にしたいと考えています。
たとえば、9 個のアイテムが表示され、ページに 8 個しか収まらない場合、8 個を一番上の行に配置して次の行に移動するのではなく、5 個を一番上の行に配置し、4 個をその下に配置したいと考えています。問題は、このテンプレートではそれらを中央に配置する必要があることです。そのため、1 つの行がいっぱいで、2 番目の行が 1 つのアイテムであると、見栄えが悪くなります。
正確である必要はないので、いくつかを強制的に下げる (8 と 1 よりも 6 と 3 の方が良い) 何らかのマージン ソリューションが機能します。誰も私がこれを行う方法を知っていますか?
乾杯!
更新:明らかに、私は自分自身をうまく説明していませんでした。行のバランスをとろうとしていますが、特定の幅で特定の数を確保するのではありません。
例を見てみましょう... 4 倍のスペースがあるとしましょう (lis は 400px スペースで 100px に固定されているとします)
| ----- ----- ----- ----- |
|| || || || ||
| ----- ----- ----- ----- |
アイテムが 4 つと 1 つではなく 5 つある場合は、これが必要です
| ----- ----- ----- |
| | || || | |
| ----- ----- ----- |
| ----- ----- |
| | || | |
| ----- ----- |
6 項目の場合、3 と 3 は 7 項目の場合、4 と 3 は 8 項目の場合、4 と 4 は 9 項目の場合、3 3 と 3
今、私はPHPでプログラム的にこれを行う必要があることを始めていますが、それはウィンドウのサイズを変更する人々には対応していません