我有一个index.php,有一个菜单,我想看看类menuitem:当我在课程中使用类(链接)时悬停活动,但我也希望看到类menuitem:hover active当我在链接菜单中悬停其他li时。好的,我将用真实的例子来解释:
我有一个下拉菜单。当您在顶部链接上方时,它会从顶部链接的底部生成边框,但是当您在此顶部链接的下拉菜单中时,边框会消失,因为您将鼠标悬停在链接上方。当你在下拉列表中以及当你在链接上时,我希望看到边框。
这是代码。但是注意你可以看到更好的行动(我知道有点难以理解这个问题)。
的index.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en">
<head>
<link type="text/css" rel="stylesheet" href="./lib/css/layout.css" media="all">
</head>
<body>
<div id="headerbar">
Hello World
</div>
<div id="mainmenu-bar">
<div id="mainmenu-content">
<img src="./lib/images/logo.png" height="75" width="75" style="float:left;margin-top:5px;">
<h1 style="color:white; float:left; margin-bottom:0px; display:inline-block;">Title</h1>
<div id="mainmenu">
<ul>
<li>
<a href="#">Inicio</a>
</li>
<li>
<a class="menuitem" href="#">Acerca de</a>
<ul>
<li><a href="#">Producto</a></li>
<li><a href="#">Nosotros</a></li>
</ul>
</li>
<li>
<a class="menuitem" href="#">Servicios</a>
<ul>
<li><a href="#">Servicio uno</a></li>
<li><a href="#">Servicio dos</a></li>
<li><a href="#">Servicio tres</a></li>
<li><a href="#">Servicio cuatro</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<div id="content">
<h1 color="white">Hello World</h1>
</div>
</body>
</html>
layout.css中
@font-face{font-family: Maven Pro; src: url(../fonts/MavenPro-Regular.ttf);}
body{font-family:Maven Pro; background:#ECECEC; border:0; font-size:100%; vertical-align:baseline; margin:0; padding:0;}
#headerbar{height:30px; float:right; margin-right:20px; margin-top:5px;}
/*MAIN MENU BAR*/
#mainmenu-bar{background:#4C84BC; width:100%; height:90px; overflow: hidden;}
#mainmenu-content{margin: 0 auto; width:1000px;}
#mainmenu{margin-top:35px; display:inline-block;}
#mainmenu ul li{float: left; margin-right: 20px; list-style: none;}
#mainmenu ul li a {color:#FFF; text-decoration: none;}
#mainmenu ul li a:hover {color: #474747;}
#mainmenu ul ul {display: none; padding: 0px; position: absolute; width: auto; margin-left: 0px;}
#mainmenu ul li:hover>ul {background: #fff; width:220px; border-right:1px solid #a4a4a4; margin-top:21px; z-index:9; position: absolute; box-shadow: 0 2px 1px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 2px 1px rgba(0, 0, 0, 0.3); -webkit-box-shadow: 1px 2px 1px rgba(0, 0, 0, 0.3); -o-box-shadow: 0 2px 1px rgba(0, 0, 0, 0.3); border-top:3px solid #FCD100; display: block;}
#mainmenu ul ul li {float: none;position: relative; text-decoration: none; display: block;}
#mainmenu ul ul li a{text-decoration: none;}
.menuitem {padding:11px 15px 17px;}
.menuitem:hover{border-bottom:6px solid #FCD100;}
我知道这样做也许可以使用JQuery,但是如果CSS3更好。
答案 0 :(得分:0)
当您在下拉列表中以及当您在链接上时看到边框。 为这两个元素添加相同的类“.both-element”。
.both-element:hover{border-bottom:6px solid #FCD100;}
答案 1 :(得分:0)
尝试添加以下规则:
.menuitem li:hover{border-bottom:6px solid #FCD100;}
甚至这样做都使两者都遵守相同的规则:
.menuitem:hover,
.menuitem li:hover
{
border-bottom:6px solid #FCD100;
}