菜单绝对位置<ul>中的边距

时间:2019-03-06 19:49:33

标签: html css

我有一个菜单,其中另一个元素内部的元素的上边距和左边距为12像素,但是当光标在该空间(边距)之间时,该菜单被隐藏。如果我删除position:absolute,我可以解决,但是我需要它。我该怎么解决?

HTML

<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Food</a>
<ul>
  <li><a href="#">Chilean food</a></li>
  <li><a href="#">Chinese food</a></li>
  <li><a href="#">Mexican food</a>
    <ul>
      <li><a href="#">Nachos</a></li>
      <li><a href="#">Quesadillas</a></li>
        <li><a href="#">Tacos</a></li>
    </ul>
  </li>
</ul>

CSS

ul {
    margin: 0;
    padding: 0;
    list-style: none;
  display: flex;
}

ul li {
    position: relative;
}

ul li ul {
    display: none;
  position: absolute;
  margin-top: 4px;
}

ul li:hover > ul {
    display: block;
}

ul li a {
    text-decoration: none;
  padding: 12px;
  display: block;
  background: black;
  color: white;
  white-space: nowrap;
}

ul li ul li ul {
    top: 0;
  left: 100%;
  margin-top: 0;
  margin-left: 4px;
}

JSFiddle:https://jsfiddle.net/v3ebd6hy/3/

谢谢!

1 个答案:

答案 0 :(得分:0)

margin-top中的padding-top更改为ul li ul

Fiddle for Reference