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

时间:2016-01-31 16:06:50

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

昨天我找到了一个只用css制作滑动菜单的代码。 在我的css文件中,我设置了所有ul,li,元素的样式,一切都很好。 当我尝试在具体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>
    

2 个答案:

答案 0 :(得分:1)

这是一个修改过的例子:

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>

答案 1 :(得分:0)

尝试将此添加到您的样式ul#menu li:hover .hidden{display:block}