【发布时间】:2019-05-16 05:58:08
【问题描述】:
我有一个导航栏,其中每个列表项的字符长度变化很大。我更喜欢将宽度保留在自动上并添加填充以定义每个项目的相同宽度的视觉效果。
我希望我的下拉菜单继承其父列表元素的宽度。相反,它们与它们自己的内容一样广泛。
手动定义每个下拉菜单的宽度似乎是一个非常不雅的解决方案,尽管我已经尝试过了。它也不是特别敏感。
我也试过设置 ul li ul width 为继承,无济于事。
HTML:
<div id="nav"> <!--nestled in div to provide full view-width bar-->
<ul>
<li>Item 1 is medium
<ul>
<li><a>Section 1</a></li>
<li><a>Section 2</a></li>
<li><a>Section 3</a></li>
</ul>
</li>
<li>Item 2 is medium
<ul>
<li><a>Section 1</a></li>
<li><a>Section 2</a></li>
<li><a>Section 3</a></li>
</ul>
</li>
<li>Item 3 is very long
<ul>
<li><a>Section 1</a></li>
<li><a>Section 2</a></li>
<li><a>Section 3</a></li>
</ul>
</li>
<li>Item 4 is short
<ul>
<li><a>Section 1</a></li>
<li><a>Section 2</a></li>
<li><a>Section 3</a></li>
</ul>
</li>
</ul>
</div>
CSS:
#nav {
background-color: #181818;
width: 100vw;
}
ul {
height: 60px;
margin-left: 7em;
margin-top: 0;
padding: 0;
list-style: none;
font-family: 'Open Sans', sans-serif;
}
ul li {
float: left;
line-height: 60px;
text-align: center;
color: #dcdcdc;
padding-left: 1em;
padding-right: 1em;
}
ul li a {
text-decoration: none;
}
ul li ul {
width: inherit;
}
ul li ul li {
background-color: #181818;
margin-left: -7em;
display: none;
}
ul li:hover ul li {
display: block;
}
将下拉菜单设置为其父列表项的宽度是否有比手动定义每个下拉菜单的宽度更好的解决方案?
【问题讨论】:
标签: html css format dropdown responsive