ul、li 要素を含む CSS で水平メニューを作成しようとしています。目標は、次のことを達成することです。メニュー オプションが長すぎる場合は常に、テキストが 2 行目に移動し、垂直方向と水平方向に整列されます。
私はなんとかそれを機能させましたが、オプションが2行の場合、幅として自動的にmax-widthパラメーターを取得し、オプションの実際の幅に設定されません。ただし、オプションが 1 行の場合、実際の幅に設定されます。max-width は、私が達成しようとしているものに対して間違ったパラメーターですか? 私はli 要素をその内容と同じ幅にしたいと思っています。
HTML:
<ul class="trials">
<li><span><a href="#">kitchen furniture</a></span></li>
<li><span><a href="#">wardrobes & cabinets</a></span></li>
<li><span><a href="#">hallway furniture</a></span></li>
<li><span><a href="#">materials</a></span></li>
</ul>
CSS:
.trials {
margin: 0;
padding: 0;
text-transform: uppercase;
float: right;
}
.trials li {
display: inline-block;
list-style: none;
margin-left: 10px;
}
.trials li {
max-width: 130px;
line-height: 40px;
height: 40px;
border: 1px blue solid;
}
.trials li span {
display: -moz-inline-box; /* FF2 or lower */
display: inline-block; /* FF3, Opera, Safari */
line-height: normal;
vertical-align: middle;
text-align: center;
}
.trials li span {
*display : inline; /* haslayout for IE6/7 */
}
これがフィドルです:http://jsfiddle.net/so_artistic/ecCM4/
助けていただければ幸いです。