css - 如何更改 CSS 子菜单宽度,使其不使用与主菜单相同的宽度?

标签 css

我目前通过与 ul > li > ul > lu 合作来使用 CSS 子菜单。我当前的 CSS 代码正在使用:

#nav li:hover ul.sub 
{left:1px; top:38px; background: #bbd37e; padding:3px; border:1px solid #5c731e; width:100%; height:auto;}

顶部菜单的宽度是找到的,但在子菜单中,它使用顶部菜单的原始宽度值。如果我将宽度更改为 325%,则子菜单足够宽,但顶部菜单太宽。

我一直在搞乱 CSS 格式,但似乎无法让子菜单保持其自己的 100% 宽度值与顶部菜单分开。

有没有人有关于如何使用 100% 宽度来匹配其内容而不是顶部菜单的值的解决方案?

如果有人想看我的意思,可以看这里: http://

我目前将其设置为 100% 宽度以向您显示子菜单的结果。

最佳答案

设置子菜单ul的宽度为auto

然后将white-space:nowrap应用到子菜单li

ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
  text-align: center;
}
a {
  text-decoration: none;
  padding: 0.5em;
  display: block;
}
li {
  background: orange;
  display: inline-block;
}
nav > ul {
  background: lightblue;
}
nav > ul > li {
  position: relative;
}
nav > ul > li > ul {
  position: absolute;
  top: 100%;
  left: 0;
  width:auto;
}
nav > ul > li > ul li {
  display: block;
  white-space: nowrap;
  background: #000;
}
<nav role='navigation'>
  <ul>
    <li><a href="#">Home</a>
      <ul>
        <li><a href="#">Home</a>
        </li>
        <li><a href="#">About</a>
        </li>
        <li><a href="#">Clients</a>
        </li>
        <li><a href="#">Contact Us</a>
        </li>
      </ul>
    </li>
    <li><a href="#">About</a>
    </li>
    <li><a href="#">Clients</a>
    </li>
    <li><a href="#">Contact Us</a>
    </li>
  </ul>
</nav>

关于css - 如何更改 CSS 子菜单宽度,使其不使用与主菜单相同的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31302447/

相关文章:

css - HTML 5 Doctype 为合理的水平无序列表菜单创建额外空间

php - 链接 CSS 根据 URL 变化并保持子 URL 的样式

jquery - 如何在具有相同功能的 div 和按钮中分配空白区域?

html - 如何摆脱页面右侧的空白区域?

html - Firefox 和 Chrome 之间的 6px 差异

html5up 模板添加额外的 Font Awesome 图标

html - CSS如何使DIV边框在宽度上动态变化

javascript - 源码和 "inspect element"的区别

css - 响应式应用 CSS 类

html - 5张合起来占全 Angular 的图片