html - 下拉菜单不起作用

标签 html css drop-down-menu

当我将光标从关于我 li 元素移开时,下拉菜单消失了,我知道如果我调整 top 属性它会起作用,但我想在导航栏和下拉菜单之间保持一点间隙,我不想要 js 或 jquery 修复,现在我只想知道这是否可以只用 CSS 完成。

HTML 和 CSS

navboy {
  margin-top: 50px;
  height: 25px;
  border-radius: 20px;
  background-image: -webkit-linear-gradient(left, #999999 0.1%, #bfbfbf 50%, #cccccc);
  background-image: -o-linear-gradient(left, #999999 0.1%, #bfbfbf 50%, #cccccc);
  background-image: linear-gradient(left, #999999 0.1%, #bfbfbf 50%, #cccccc);
}
.nav {
  list-style: none;
  padding: 0px;
  margin: 0px;
}
.nav li {
  display: inline-block;
  float: left;
  position: relative;
  margin-right: 40px;
  margin-left: 20px;
}
ul.nav a {
  display: inline-block;
  text-decoration: none;
  font-family: 'Abel', sans-serif;
  font-size: 110%;
  color: #000;
}
.nav li #embed {
  position: absolute;
  display: none;
  float: left;
  padding: 0;
  margin: 0;
  width: 150px;
  left: -20px;
  top: 140%;
  background: -webkit-linear-gradient(top left, #999999 0.1%, #bfbfbf 97%, #cccccc);
  ;
  border-radius: 10px;
}
.nav > li:hover > #embed {
  display: block;
}
<body>
  <div class="container_12">
    <div class="grid_12">
      <div class="headshot push_5">
      </div>
    </div>
  </div>
  <div class="container_12">
    <div class="grid_12 navboy">
      <ul class="nav">
        <li><a href="#" id="me">About Me</a>
          <ul id="embed">
            <li><a href="#">Contact Me</a>
            </li>
            <li><a href="#">Download</a>
            </li>
          </ul>
        </li>
        <li><a href="#">My Journey</a>
        </li>
      </ul>
    </div>
  </div>
</body>

最佳答案

您可以使用过渡。这是一个例子。希望对你有帮助

navboy {

    margin-top: 50px;
    height: 25px;
    border-radius: 20px;
    background-image: -webkit-linear-gradient(left, #999999 0.1%, #bfbfbf 50%, #cccccc);
    background-image: -o-linear-gradient(left, #999999 0.1%, #bfbfbf 50%, #cccccc);
    background-image: linear-gradient(left, #999999 0.1%, #bfbfbf 50%, #cccccc);
}


.nav {

    list-style: none;
    padding: 0px;
    margin:0px;
}

.nav li {

    display: inline-block;
    float: left;
    position: relative;
    margin-right: 40px;
    margin-left: 20px;
}

ul.nav a {

    display: inline-block;
    text-decoration: none;
    font-family: 'Abel', sans-serif;
    font-size: 110%;
    color: #000;
}

.nav li #embed {

    position: absolute;
    visibility: hidden;
    float: left;
    padding:0;
    margin:0;
    width:150px;
    left:-20px;
    top:140%;
    background: -webkit-linear-gradient(top left, #999999 0.1%, #bfbfbf 97%, #cccccc);;
    border-radius: 10px;
     transition-property: all;
    transition-duration: 1000ms;
    transition-timing-function: ease-in-out;
}

.nav > li:hover > #embed {
    visibility:visible;
}
<body>

    `<div class="container_12" >
        <div class="grid_12">
            <div class="headshot push_5">
        </div>
    </div>
</div>
    <div class="container_12">
        <div class="grid_12 navboy">
            <ul class="nav">
                <li><a href="#" id="me">About Me</a>
                    <ul id="embed">
                        <li><a href="#">Contact Me</a></li>
                        <li><a href="#">Download</a></li>
                    </ul>
                </li>
                <li><a href="#">My Journey</a></li>
            </ul>
        </div>
    </div>  
</body>

关于html - 下拉菜单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39665484/

相关文章:

javascript - 使用 jquery 或 java 脚本获取复选框值并显示一个 div

javascript - javascript 中带有缩略图的图片库

javascript - Angularjs 选择组和初始值

css - 单击响应式布局的下拉菜单

c# - DropDownList binding get Eval()、XPath() 和 Bind() 等数据绑定(bind)方法只能在数据绑定(bind)控件异常的上下文中使用

html - 另一个元素上的一个元素,以及超出 div 的填充 Html、Css

html - css flexbox布局模块中的表格设计

javascript - 在网页上加载 Flash 横幅后添加 cookie

css - 如何向 HTML5 表格添加滚动条?

javascript - 多级 Bootstrap 菜单只显示第一级