css - 具有可变宽度的父列表项下的中心子菜单

标签 css menu centering

抱歉,我目前无法将此代码放在任何地方,但希望屏幕截图能有所帮助。我试图将一个子菜单 ul 精确地居中在 li 的可变宽度下方,如下所示:

Centered submenu

这是我的布局的截断版本:

<div class="nav">
  <ul class="menu">
     <li>
          <a href="">Home</a>  
     </li>
     <li>
          <a href="">Kids</a>
          <ul class="sub-menu">
              <li><a href="">Sub-item 1</a></li>
              <li><a href="">Sub-item 2</a></li>
          </ul>
     </li>
     <li>
          <a href="">Students</a>  
     </li>        
     <li>
          <a href="">Adults</a>
          <ul class="sub-menu">
              <li><a href="">Sub-item 1</a></li>
              <li><a href="">Sub-item 2</a></li>
          </ul
     </li>
  </ul>
</div>

我让子菜单上的箭头正常工作并与子菜单 ul 的中心对齐,但子菜单本身没有与其父 li 正确对齐,如您在此处所见。显示的子菜单是针对“ child ”li 和“成人”li 的,如上:

Current state of affairs

我相信这是相关代码。非常感谢任何帮助!

.menu li {
    display:inline-block;
    list-style-type: none;
    position: relative;
}

.menu li a {
    background:url("_/images/nav-cross-home.png") 50% 5px no-repeat;
    display:inline-block;
    padding:30px 5px 2px;
    text-transform: uppercase;
    text-decoration: none;
    color:#000;
    font-family:proxima-nova, Arial, Helvetica, sans-serif;
    font-weight:700;
    font-size:.9em;
    margin: 0 auto 10px;
}
.nav ul ul {
    display: block;
    position: absolute;
    margin: 10px 0px 0px -15px;
    top: 3.333em;
    left: -125%;
    width: 170px;
    z-index: 99999;
    border:2px solid #929292;
}

.nav ul.menu ul.sub-menu a {
    background: #fff !important;
    border-bottom: 1px solid #e5e5e5;
    color: #444;
    font-size: .9em;
    text-transform: none;
    height: auto;
    line-height: 1.4em;
    padding: 10px 10px;
    width: 150px;
    margin-bottom:0px;
}

最佳答案

给你。

.nav ul ul {
    margin-left:-87px;
    left: 50%;
}

所以left 50%得到ul到父li的中点,然后负左边距总宽度的一半(包括borders = 174)。

更新:这是一个例子。 http://jsfiddle.net/mcpatriot/jzWcD/

关于css - 具有可变宽度的父列表项下的中心子菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9422091/

相关文章:

HTML 和 CSS,在 td 中居中 div

jquery - 我无法使滚动功能正常工作

python - GTK 3 - 添加项目后展开的弹出菜单

javascript - 有没有办法构建菜单结构并输出到 JSON 数据?

android - 如何知道 onCreateOptionsMenu 是否已经完成

css - 以IE5/6/7/8和FF为中心

python - 使用 Python 用该列的平均值减去数据框中的每一列

css - 如何修复表单控件的宽度?

CSS 动画适用于 Safari 和 Firefox,但不适用于 Chrome

html - Robot Framework HTML5 - Webdriver support - 浏览器的 Webdriver 实例无法登录,但手动打开浏览器可以