html - css 菜单滑动子元素在悬停时隐藏而不是改变颜色

标签 html css drop-down-menu web-frontend

昨天我找到了一个只用css制作滑动菜单的代码。 当我在我的 css 文件中为所有 ul、li、a 元素设置样式时,一切都很好。 当我尝试在具体的 div 中设置列​​表样式时出现问题,然后当我将鼠标悬停在顶部元素上时,子元素出现但是当我尝试指向它们时它们隐藏了 working it_hides_when_hover . 谁能解释为什么在 div 中它不起作用?

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

/*Create a horizontal list with spacing*/
  #nav li {
	display:inline-block;
	float: left;
	margin-right: 1px;
}

/*Style for menu links*/
#nav 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*/
#nav  li:hover a {
	background: #19c589;
}

/*Style for dropdown links*/
#nav li:hover ul a {
	background: #f3f3f3;
	color: #2f3036;
	height: 40px;
	line-height: 40px;
}

/*Hover state for dropdown links*/
#nav li:hover ul a:hover {
	background: #19c589;
	color: #fff;
}

/*Hide dropdown links until they are needed*/
#nav  li ul {
	display: none;
}

/*Make dropdown links vertical*/
#nav li ul li {
	display: block;
	float: none;
}

/*Prevent text wrapping*/
#nav li ul li a {
	width: auto;
	min-width: 100px;
	padding: 0 20px;
}

/*Display the dropdown on hover*/
#nav ul li a:hover + .hidden, .hidden:hover {
	display: block;
}
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
<TITLE>Tytuł strony!</TITLE>
<link rel="stylesheet" type="text/css" href="style2.css">
<META NAME="description" CONTENT="Site description">
<META NAME="robots" CONTENT="ALL">
 
</head>
<body>
    <div id="nav">
        <ul id="menu">
            <li><a href="#">GALERRY</a>
                <ul class="hidden">
                    <li><a href="#">ConceptArt</a></li>
                    <li><a href="#">Videos</a></li>
                
                </ul>
            </li>
            <li><a href="#">INFO</a></li>
            <li><a href="#">CONTACT</a></li>
            <li><a href="#">ABOUT</a>
                <ul class="hidden">
                    <li><a href="#">We do</a></li>
                    <li><a href="#">We are</a></li>
                </ul>
            </li>
           
        </ul>
        
         </div>
    </body>
</html>
    

最佳答案

这是一个修改过的例子:

http://codepen.io/xvariant/pen/pgKxwp

#nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  position: absolute;
}
/*Create a horizontal list with spacing*/

#nav li {
  display: inline-block;
  float: left;
  margin-right: 1px;
}
/*Style for menu links*/

#nav 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*/

#nav li:hover a {
  background: #19c589;
}
/*Style for dropdown links*/

#nav li:hover ul a {
  background: #f3f3f3;
  color: #2f3036;
  height: 40px;
  line-height: 40px;
}
/*Hover state for dropdown links*/

#nav li:hover ul a:hover {
  background: #19c589;
  color: #fff;
}
/*Hide dropdown links until they are needed*/

#nav li ul {
  display: none;
}
/*Make dropdown links vertical*/

#nav li ul li {
  display: block;
  float: none;
}
/*Prevent text wrapping*/

#nav li ul li a {
  width: auto;
  min-width: 100px;
  padding: 0 20px;
}
/*Display the dropdown on hover*/

#nav ul li:hover .hidden {
  display: block;
}
<div id="nav">
  <ul id="menu">
    <li><a href="#">GALERRY</a>
      <ul class="hidden">
        <li><a href="#">ConceptArt</a>
        </li>
        <li><a href="#">Videos</a>
        </li>

      </ul>
    </li>
    <li><a href="#">INFO</a>
    </li>
    <li><a href="#">CONTACT</a>
    </li>
    <li><a href="#">ABOUT</a>
      <ul class="hidden">
        <li><a href="#">We do</a>
        </li>
        <li><a href="#">We are</a>
        </li>
      </ul>
    </li>

  </ul>

</div>

关于html - css 菜单滑动子元素在悬停时隐藏而不是改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35115950/

相关文章:

css - 水平菜单和下拉菜单之间的切换

javascript - 尝试将类应用于通过 jquery 过滤的元素

html - 使用 CSS 更改 <br> 高度

javascript - 无法在 div 内移动滚动条

CSS first-child 被 LESS 覆盖

javascript - 谷歌地图 api v3 + 标记聚类器 : centering map?

css - 应用于 HTML 选择多个非 3D 背景的 css 是什么?

javascript - 谷歌地图视觉刷新 - 如何在 InfoWindow 中禁用字体 Roboto

php - 在选择框中保留所选值

php - 使用循环将 JQuery Dropdown list 中的多维数组以字符串形式存储在数据库中