【问题标题】:CSS and HTML menuCSS 和 HTML 菜单
【发布时间】:2018-10-22 06:22:34
【问题描述】:

我正在开发一个只有 CSS 的 HTML 页面。菜单选项在悬停时有一个下拉菜单,但是一旦我尝试单击下拉列表,它就会消失

我希望类别和所有其他下拉菜单中的选项都是可点击的。我做错了什么?

#mid ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  position: absolute;
}

/*Create a horizontal list with spacing*/

#mid li {
  display: inline-block;
  float: left;
  margin-right: 1px;
}

/*Style for menu links*/

#mid li a {
  display: block;
  min-width: 140px;
  height: 50px;
  text-align: center;
  line-height: 50px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #fff;
  background: #2f3036;
  text-decoration: none;
}

/*Hover state for top level links*/

#mid li:hover a {
  background: #19c589;
}

/*Style for dropdown links*/

#mid li:hover ul a {
  background: #f3f3f3;
  color: #2f3036;
  height: 40px;
  line-height: 40px;
}

/*Hover state for dropdown links*/

#mid li:hover ul a:hover {
  background: #19c589;
  color: #fff;
}

/*Hide dropdown links until they are needed*/

#mid li ul {
  display: none;
}

/*Make dropdown links vertical*/

#mid li ul li {
  display: block;
  float: none;
}

/*Prevent text wrapping*/

#mid li ul li a {
  width: auto;
  min-width: 100px;
  padding: 0 20px;
}

/*Display the dropdown on hover*/

#mid ul li a:hover+.hidden,
.hidden:hover {
  display: block;
}

/*Style 'show menu' label button and hide it by default*/

#mid .show-menu {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-decoration: none;
  color: #fff;
  background: #19c589;
  text-align: center;
  padding: 10px 0;
  display: none;
}

/*Hide checkbox*/

#mid input[type=checkbox] {
  display: none;
}

/*Show menu when invisible checkbox is checked*/

#mid input[type=checkbox]:checked~#menu {
  display: block;
}
<div id="mid">
  <label for="show-menu" class="show-menu">Show Menu</label>
  <input type="checkbox" id="show-menu" role="button">
  <ul id="menu">
    <li><a href="#">Home</a></li>
    <li>
      <a href="#">Categories ↓</a>
      <ul class="hidden">
        <li><a href="#">Engineering </a></li>
        <li><a href="#">MBA</a></li>
        <li><a href="#">AGRICULTUE</a></li>
        <li><a href="#">ARCHITECTURE</a></li>
        <li><a href="#">Commerce</a></li>
        <li><a href="#">Sceince</a></li>
        <li><a href="#">PHD</a></li>
        <li><a href="#">Other Branches</a></li>
      </ul>
    </li>
    <li><a href="#">NOVELS</a>
    </li>
    <li><a href="#">News Upadates</a></li>
    <li>
      <a href="#">Follow us ↓ </a>
      <ul class="hidden">
        <li><a href="#">Facebook</a></li>
        <li><a href="#">Instagram</a></li>
        <li><a href="#">Twitter</a></li>
      </ul>
    </li>
    <li><a href="#">Contact Us ↓ </a>
      <ul class="hidden">
        <li><a href="#">ADVERTISEMENT</a></li>
        <li><a href="#">Report bug</a></li>
      </ul>
    </li>
  </ul>
</div>

</html>

【问题讨论】:

  • 那么当一个超链接被点击时,你期望发生什么?菜单应该保持打开状态并且应该点击链接?

标签: html css


【解决方案1】:

添加这个

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

当您将鼠标悬停在其父级 li

上时,这会保持菜单显示

【讨论】:

    猜你喜欢
    • 2015-08-11
    • 2015-10-19
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 2016-08-15
    • 1970-01-01
    相关资源
    最近更新 更多