我们有一个旨在允许用户优化存档中内容的导航。因此,他们可以在菜单中选择一年,然后扩展以从子菜单中选择一个月并相应地过滤结果。它在大多数情况下效果很好,但悬停时生效的样式似乎只适用于每个子菜单的上半部分。对于最高的一年,它在1月 - 10月工作,第二年工作于1月 - 9月,并且每增加一个子菜单都会损失一个月。似乎没有任何理由。有什么想法吗?CSS for:悬停仅适用于某些元素
CSS:
nav {
font-family: Helvetica, Arial, "Lucida Grande", sans-serif;
line-height: 1.5;
/*margin: 50px auto;*/
position: absolute;
right: 40px;
width: 200px;
-webkit-box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
-moz-box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
}
.menu-item {
background: #fff;
width: 200px;
}
.menu-item h4 a {
color: white;
display: block;
text-decoration: none;
width: 200px;
}
.menu-item h4 {
border-bottom: 1px solid rgba(0,0,0,0.3);
border-top: 1px solid rgba(255,255,255,0.2);
color: #fff;
font-size: 15px;
font-weight: 500;
padding: 7px 12px;
/*Gradient*/
background: #a90329; /* Old browsers */
background: -moz-linear-gradient(top, #a90329 0%, #8f0222 44%, #6d0019 100%); /* FF3.6 */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a90329), color-stop(44%,#8f0222), color-stop(100%,#6d0019)); /* Chrome,Safari4 */
background: -webkit-linear-gradient(top, #a90329 0%,#8f0222 44%,#6d0019 100%); /* Chrome10,Safari5.1 */
background: -o-linear-gradient(top, #a90329 0%,#8f0222 44%,#6d0019 100%); /* Opera 11.10 */
background: -ms-linear-gradient(top, #a90329 0%,#8f0222 44%,#6d0019 100%); /* IE10 */
background: linear-gradient(top, #a90329 0%,#8f0222 44%,#6d0019 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a90329', endColorstr='#6d0019',GradientType=0); /* IE6-9 */
}
.menu-item h4:hover {
background: #cc002c; /* Old browsers */
background: -moz-linear-gradient(top, #cc002c 0%, #6d0019 100%); /* FF3.6 */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#cc002c), color-stop(100%,#6d0019)); /* Chrome,Safari4 */
background: -webkit-linear-gradient(top, #cc002c 0%,#6d0019 100%); /* Chrome10,Safari5.1 */
background: -o-linear-gradient(top, #cc002c 0%,#6d0019 100%); /* Opera 11.10 */
background: -ms-linear-gradient(top, #cc002c 0%,#6d0019 100%); /* IE10 */
background: linear-gradient(top, #cc002c 0%,#6d0019 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cc002c', endColorstr='#6d0019',GradientType=0); /* IE6-9 */
}
.alpha p {
font-size: 13px;
padding: 8px 12px;
color: #aaa;
}
.menu-item ul {
background: #fff;
font-size: 13px;
line-height: 30px;
list-style-type: none;
overflow: hidden;
padding: 0px;
}
.menu-item ul a {
margin-left: 20px;
text-decoration: none;
color: #aaa;
display: block;
width: 200px;
}
/*li Styles*/
.menu-item li {
border-bottom: 1px solid #eee;
}
.menu-item li:hover {
background: #eee;
}
.menu-item ul {
background: #fff;
font-size: 13px;
line-height: 30px;
height: 0px; /*Collapses the menu*/
list-style-type: none;
overflow: hidden;
padding: 0px;
}
.menu-item ul {
background: #fff;
font-size: 13px;
line-height: 30px;
height: 0px;
list-style-type: none;
overflow: hidden;
padding: 0px;
/*Animation*/
-webkit-transition: height 1s ease;
-moz-transition: height 1s ease;
-o-transition: height 1s ease;
-ms-transition: height 1s ease;
transition: height 1s ease;
}
.menu-item:hover ul {
height: 372px;
/*#endregion */
}
HTML:
<nav>
<h2>View posts from: </h2>
<div class="menu-item alpha">
<h4><a href="[email protected]">@DateTime.Now.Year</a></h4>
<ul>
<li><a href="[email protected]&filterMonth=1">January</a></li>
<li><a href="[email protected]&filterMonth=2">February</a></li>
<li><a href="[email protected]&filterMonth=3">March</a></li>
<li><a href="[email protected]&filterMonth=4">April</a></li>
<li><a href="[email protected]&filterMonth=5">May</a></li>
<li><a href="[email protected]&filterMonth=6">June</a></li>
<li><a href="[email protected]&filterMonth=7">July</a></li>
<li><a href="[email protected]&filterMonth=8">August</a></li>
<li><a href="[email protected]&filterMonth=9">September</a></li>
<li><a href="[email protected]&filterMonth=10">October</a></li>
<li><a href="[email protected]&filterMonth=11">November</a></li>
<li><a href="[email protected]&filterMonth=12">December</a></li>
</ul>
</div>
<div class="menu-item">
<h4><a href="[email protected](-1).Year">@DateTime.Now.AddYears(-1).Year</a></h4>
<ul>
<li><a href="Jeff[email protected](-1).Year&filterMonth=1">January</a></li>
<li><a href="[email protected](-1).Year&filterMonth=2">February</a></li>
<li><a href="[email protected](-1).Year&filterMonth=3">March</a></li>
<li><a href="[email protected](-1).Year&filterMonth=4">April</a></li>
<li><a href="[email protected](-1).Year&filterMonth=5">May</a></li>
<li><a href="[email protected](-1).Year&filterMonth=6">June</a></li>
<li><a href="[email protected](-1).Year&filterMonth=7">July</a></li>
<li><a href="[email protected](-1).Year&filterMonth=8">August</a></li>
<li><a href="[email protected](-1).Year&filterMonth=9">September</a></li>
<li><a href="[email protected](-1).Year&filterMonth=10">October</a></li>
<li><a href="[email protected](-1).Year&filterMonth=11">November</a></li>
<li><a href="[email protected](-1).Year&filterMonth=12">December</a></li>
</ul>
</div>
<div class="menu-item">
<h4><a href="[email protected](-2).Year">@DateTime.Now.AddYears(-2).Year</a></h4>
<ul>
<li><a href="[email protected](-2).Year&filterMonth=1">January</a></li>
<li><a href="[email protected](-2).Year&filterMonth=2">February</a></li>
<li><a href="[email protected](-2).Year&filterMonth=3">March</a></li>
<li><a href="[email protected](-2).Year&filterMonth=4">April</a></li>
<li><a href="[email protected](-2).Year&filterMonth=5">May</a></li>
<li><a href="[email protected](-2).Year&filterMonth=6">June</a></li>
<li><a href="[email protected](-2).Year&filterMonth=7">July</a></li>
<li><a href="[email protected](-2).Year&filterMonth=8">August</a></li>
<li><a href="[email protected](-2).Year&filterMonth=9">September</a></li>
<li><a href="[email protected](-2).Year&filterMonth=10">October</a></li>
<li><a href="[email protected](-2).Year&filterMonth=11">November</a></li>
<li><a href="[email protected](-2).Year&filterMonth=12">December</a></li>
</ul>
</div>
<div class="menu-item">
<h4><a href="[email protected](-3).Year">@DateTime.Now.AddYears(-3).Year</a></h4>
<ul>
<li><a href="[email protected](-3).Year&filterMonth=1">January</a></li>
<li><a href="[email protected](-3).Year&filterMonth=2">February</a></li>
<li><a href="[email protected](-3).Year&filterMonth=3">March</a></li>
<li><a href="[email protected](-3).Year&filterMonth=4">April</a></li>
<li><a href="[email protected](-3).Year&filterMonth=5">May</a></li>
<li><a href="[email protected](-3).Year&filterMonth=6">June</a></li>
<li><a href="[email protected](-3).Year&filterMonth=7">July</a></li>
<li><a href="[email protected](-3).Year&filterMonth=8">August</a></li>
<li><a href="[email protected](-3).Year&filterMonth=9">September</a></li>
<li><a href="[email protected](-3).Year&filterMonth=10">October</a></li>
<li><a href="[email protected](-3).Year&filterMonth=11">November</a></li>
<li><a href="[email protected](-3).Year&filterMonth=12">December</a></li>
</ul>
</div>
<div class="menu-item">
<h4><a href="[email protected](-4).Year">@DateTime.Now.AddYears(-4).Year</a></h4>
<ul>
<li><a href="[email protected](-4).Year&filterMonth=1">January</a></li>
<li><a href="[email protected](-4).Year&filterMonth=2">February</a></li>
<li><a href="[email protected](-4).Year&filterMonth=3">March</a></li>
<li><a href="[email protected](-4).Year&filterMonth=4">April</a></li>
<li><a href="[email protected](-4).Year&filterMonth=5">May</a></li>
<li><a href="[email protected](-4).Year&filterMonth=6">June</a></li>
<li><a href="[email protected](-4).Year&filterMonth=7">July</a></li>
<li><a href="[email protected](-4).Year&filterMonth=8">August</a></li>
<li><a href="[email protected](-4).Year&filterMonth=9">September</a></li>
<li><a href="[email protected](-4).Year&filterMonth=10">October</a></li>
<li><a href="[email protected](-4).Year&filterMonth=11">November</a></li>
<li><a href="[email protected](-4).Year&filterMonth=12">December</a></li>
</ul>
</div>
</nav>
似乎在这里工作很好http://jsfiddle.net/j08691/7QHHy/ – j08691
@ j08691看起来不错。这可能意味着您的网站的其他部分还有其他问题。我注意到你使用绝对位置。设置一个z-index:999;看看它是否存在重叠分部的问题。 – Cam
@Cam看起来像这样做!必须有其他重叠的东西。谢谢!我将不得不稍后再检查一下,这样我们就不会在后面遇到更多问题。 – Blake