私は水平メニューを持っています:https://jsfiddle.net/4dzrto3v/2/
私が達成したいのは、テキストを折り返すときにアイテムの幅を狭くすることです。2番目の要素を見ると、右側に最小限に抑えたいスペースがあります。
#nav {
width: 100%;
height: 4em;
background: #F0C000;
padding: 0;
list-style: none;
}
#nav li {
float: left;
position: relative;
display: block;
font-size: 1em;
text-transform: uppercase;
height: 4em;
padding-right: 1em;
max-width: 8em;
border-right: 1px solid #fff
}
#nav a:link, #nav a:active, #nav a:visited , #nav a:hover {
color: #444;
text-decoration: none;
}
#nav li:hover {
background-color: #fff;
}
<ul id="nav">
<li>First</li>
<li>Second element</li>
<li>Third element</li>
<li>Fourth element with long text</li>
<li>Fifth</li>
</ul>
max-width
プロパティを削除すると、単語の区切りはなく、テキストは1行になります。
これが私が欲しいメニューのイラストです(2番目の要素の幅に注意してください)。
li要素でfloatプロパティを使用する代わりに、flexを試してみることができます。
#nav{
width: 100%;
height: 4em;
background: #F0C000;
padding: 0;
list-style: none;
display:flex;
}
#nav li{
position: relative;
font-size: 1em;
text-transform: uppercase;
height: 4em;
padding-right: 1em;
border-right: 1px solid #fff
}
テキストの長さに応じてリスト要素のサイズが自動的に変更されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加