User interface 我需要能够改变李的背景色时,用鼠标选择。仅使用css
我有ul菜单与李的no a:链接,我需要能够改变李的背景色时,用鼠标选择User interface 我需要能够改变李的背景色时,用鼠标选择。仅使用css,user-interface,css,frontend,dart,User Interface,Css,Frontend,Dart,我有ul菜单与李的no a:链接,我需要能够改变李的背景色时,用鼠标选择 <div id="dvMainNavMenu"> <ul id="NavItem"> <li>Nav Item</li> <li>Nav Item</li> <li>Nav Item</li> </ul>
<div id="dvMainNavMenu">
<ul id="NavItem">
<li>Nav Item</li>
<li>Nav Item</li>
<li>Nav Item</li>
</ul>
</div>
#NavItem li {background-color: transparent; text-decoration: none; }
#NavItem li:hover {background-color: #ff8700;}
#NavItem li:focus {background-color: #ff8700;}
#NavItem li{背景色:透明;文本装饰:无;}
#NavItem li:悬停{背景色:#ff8700;}
#NavItem li:focus{背景色:#ff8700;}
焦点不起作用;(有人能帮我吗?这是可能的,只要你意识到非交互元素(交互元素是那些像
input
,select
,a
…)不能被聚焦。它可以响应:active
伪类,但一旦鼠标被释放就不会持续存在(如果移动鼠标,将被默认的选择操作覆盖):
重要的是要记住CSS用于表示,JavaScript(以及可能的其他语言,如are)用于HTML提供的内容之上的功能/行为/交互层
使用JavaScript不是一种“欺骗”形式。这是可能的,只要你意识到非交互元素(交互元素是那些像
输入
,选择
,一个
…)不能被聚焦。它可以响应:活动的
伪类,但一旦鼠标被释放就不会持续(如果移动鼠标,将被默认的选择操作覆盖):
重要的是要记住CSS用于表示,JavaScript(以及可能的其他语言,如are)用于HTML提供的内容之上的功能/行为/交互层
使用JavaScript不是一种“欺骗”形式。元素不是输入或“值得关注”[)/™/你不会承认CSS必须提供的
:focus
,:active
等伪类。你可能会使用锚(
)来破解它但是现在你只需要提供一个href
目标,而且,在没有javascript干预的情况下,你要么将窗口滚动到一个命名的锚/匹配ID,要么尝试使用
破解任何其他可能产生的效果。如果没有href
你将失去很多固有的能力
话虽如此,一点javascript就可以在重量(相对)较轻的情况下完成你想要做的事情。而且,最坏的情况是,一个不支持javascript或禁用javascript的浏览器将退回到只有:hover
功能的状态
有了这些,下面是javascript的替代方案:
创建一个类:
#NavItem .active { background-color: #FF8700; }
然后:
非输入或“值得关注”的元素[)/™/你不会承认CSS必须提供的
:focus
,:active
等伪类。你可能会使用锚(
)来破解它但是现在你只需要提供一个href
目标,而且,在没有javascript干预的情况下,你要么将窗口滚动到一个命名的锚/匹配ID,要么尝试使用
破解任何其他可能产生的效果。如果没有href
你将失去很多固有的能力
话虽如此,一点javascript就可以在重量(相对)较轻的情况下完成你想要做的事情。而且,最坏的情况是,一个不支持javascript或禁用javascript的浏览器将退回到只有:hover
功能的状态
有了这些,下面是javascript的替代方案:
创建一个类:
#NavItem .active { background-color: #FF8700; }
然后:
如果您将与链接结合使用会怎样?负面影响是一次只能突出显示一个链接。作为一个非常粗略的演示,或者查看下面的HTML/CSS
<div id="dvMainNavMenu">
<ul id="NavItem">
<li><a href="#item1" id="item1">Nav Item</a></li>
<li><a href="#item2" id="item2">Nav Item</a></li>
<li><a href="#item3" id="item3">Nav Item</a></li>
</ul>
</div>
#NavItem li {background-color: transparent; text-decoration: none; }
#NavItem li:hover {background-color: #ff8700;}
#NavItem li:focus {background-color: #ff8700;}
#NavItem li a { display:block; }
#NavItem li a:target { background-color:black; }
#NavItem li{背景色:透明;文本装饰:无;}
#NavItem li:悬停{背景色:#ff8700;}
#NavItem li:focus{背景色:#ff8700;}
#NavItem li a{display:block;}
#NavItem li a:目标{背景色:黑色;}
这显然只适用于特定场景,因此它可能适合也可能不适合您正在尝试做的事情和。如果您将与链接结合使用会怎么样。消极的是,您一次只能突出显示一个。作为一个非常粗略的演示,或者查看下面的HTML/CSS
<div id="dvMainNavMenu">
<ul id="NavItem">
<li><a href="#item1" id="item1">Nav Item</a></li>
<li><a href="#item2" id="item2">Nav Item</a></li>
<li><a href="#item3" id="item3">Nav Item</a></li>
</ul>
</div>
#NavItem li {background-color: transparent; text-decoration: none; }
#NavItem li:hover {background-color: #ff8700;}
#NavItem li:focus {background-color: #ff8700;}
#NavItem li a { display:block; }
#NavItem li a:target { background-color:black; }
#NavItem li{背景色:透明;文本装饰:无;}
#NavItem li:悬停{背景色:#ff8700;}
#NavItem li:focus{背景色:#ff8700;}
#NavItem li a{display:block;}
#NavItem li a:目标{背景色:黑色;}
这显然只适用于特定的场景,因此它可能适合也可能不适合您尝试执行的操作。在单击时选择?恐怕:focus/:active在较新的浏览器中不再像那样工作。嗯,似乎工作正常:@j08691:在什么浏览器上测试?IE9,最新的FF/Chrome不这样工作…@BradChristie-适合我在Chrome和FF.以及IE8.Nevermind中,我误读了这个问题。我认为他只是需要悬停。在点击中选择?我担心:focus/:active在新浏览器中不再像那样工作。嗯,似乎工作正常:@j08691:在什么浏览器上测试?IE9,最新的FF/Chrome不这样工作…@BradChristie-在Chrome和FF.以及IE8中对我有效“没关系,我误读了这个问题。我以为他只是需要悬停一下。@DavidThomas:你读了我关于这不可能的评论,对吗?这将使这成为一个[功能性]替代方案。不,我没有。但是,尽管你是对的,这肯定是一个错误。”(
<div id="dvMainNavMenu">
<ul id="NavItem">
<li><a href="#item1" id="item1">Nav Item</a></li>
<li><a href="#item2" id="item2">Nav Item</a></li>
<li><a href="#item3" id="item3">Nav Item</a></li>
</ul>
</div>
#NavItem li {background-color: transparent; text-decoration: none; }
#NavItem li:hover {background-color: #ff8700;}
#NavItem li:focus {background-color: #ff8700;}
#NavItem li a { display:block; }
#NavItem li a:target { background-color:black; }