【发布时间】:2014-03-20 13:30:02
【问题描述】:
我正在尝试获取一个小图形来指定查看者使用 css 所在的页面,但它不会突出显示。这是我的代码:
HTML:
<ul class="side-nav">
<a href="http://www.cieloazulsantafe.com/nav-test.html"><li><span>Home</span></li></a>
<a href="http://www.cieloazulsantafe.com/sample-page.html"><li>
<span>Sample Page</span></li></a>
</ul>
CSS:
ul.side-nav span{
margin-left: 50px;
text-decoration: none;
color: #fff;
}
ul.side-nav a li{
background: url('http://cieloazulsantafe.com/wp-content/uploads/2014/03/nav-grad.png');
list-style: none;
height: 41px;
width: 250px;
line-height: 2.0;
text-decoration: none;
}
ul.side-nav a li:hover{
background: url('http://cieloazulsantafe.com/wp-content/uploads/2014/03/nav-grad1.png');
}
ul.side-nav a li.current-menu-item{
background: url('http://cieloazulsantafe.com/wp-content/uploads/2014/03/nav-grad1.png');
}
a{
text-decoration: none;
}
看起来很简单,但我就是无法改变背景。我知道它是因为它是 li 元素,但我猜“当前菜单项”的顺序是错误的。
【问题讨论】:
-
首先,您的 HTML 已损坏。不要将
<li>放在<a>标签之间。<ul><li><a href="#">foo</a></li></ul>可以,<ul><a href="#"><li>foo</li></a></ul>不行。即使:hover工作并显示所有内容,浏览器仍以怪异模式工作 -
某些东西(javascript 调用或 php 检查)必须使菜单项获得
current-menu-item类,否则它将不起作用 -
我需要整个
<li>成为一个活动链接。 -
@webeno 他也可以使用不受欢迎的主播的
:active选择器,但首先他需要修复他的html -
<ul class="side-nav"><li><a href="#"></a></li></ul>好的
标签: html css navigation