如何在CSS中使用“hover”
我使用下面的代码来实现这个目标:
当鼠标hover在锚上,下划线出来,
但它失败了,
<a class="hover">click</a> a .hover :hover{ text-decoration:underline; }
什么是正确的版本来做到这一点?
如果您希望鼠标在链接上hover时出现下划线,则:
a:hover {text-decoration: underline; }
是足够的,但是如果你愿意的话,你也可以使用“hover”的类名,下面的内容同样适用:
a.hover:hover {text-decoration: underline; }
顺便提一下,值得指出的是,'hover'这个类的名字并没有真正添加任何元素,因为a:hover
的a.hover:hover
元素和a.hover:hover
。 除非这只是使用类名的演示。
有很多方法可以做到这一点。 如果你真的想在你的A元素中有一个“hover”类,那么你必须这样做:
a.hover:hover { code here }
然后再次,有这样一个类名不常见,这是你如何做一个常规的hover:
select:hover { code here }
这里有几个例子:
1
HTML:
<a class="button" href="#" title="">Click me</a>
CSS:
.button:hover { code here }
2
HTML:
<h1>Welcome</h1>
CSS:
h1:hover { code here }
:hover是许多伪类之一。
例如,你可以改变,当鼠标hover在它上面时,你可以控制一个元素的样式,当它被点击时以及之前被点击时。
HTML:
<a class="home" href="#" title="Go back">Go home!</a>
CSS:
.home { color: red; } .home:hover { color: green; } .home:active { color: blue; } .home:visited { color: black; }
除了我给出的尴尬颜色作为例子,与“家”类的链接默认为红色,鼠标hover时为绿色,点击时为蓝色,点击后为黑色。
希望这可以帮助
不是一个答案,但解释为什么你的CSS不匹配的HTML。
在CSS空间被用作分隔符告诉浏览器在儿童看,所以你的CSS
a .hover :hover{ text-decoration:underline; }
的意思是“寻找一个元素,然后寻找任何有hover类的子孙,看看那些有hover状态的后代的任何后代”,并匹配这个标记
<a> <span class="hover"> <span> I will become underlined when you hover on me <span/> </span> </a>
如果你想匹配a.hover:hover
a class="hover">I will become underlined when you hover on me</a>
你应该使用a.hover:hover
,这意味着“寻找任何一个带有类hover和hover状态的元素“
a.hover:hover
a.hover:hover { text-decoration:underline; }
您需要连接select器和伪select器。 你还需要一个样式元素来包含你的样式。 大多数人使用外部样式表来获得很多好处(caching一个)。
<a class="hover">click</a> <style type="text/css"> a.hover:hover { text-decoration: underline; } </style>
只是一个注意:hover类是没有必要的,除非你只定义某些链接有这种行为(可能是这种情况)
href是一个锚元素的必需属性,所以没有它,你不能期望所有的浏览器都能够平等地处理它。 无论如何,我在某个地方看了一个评论,你只希望链接在hover时加下划线,否则就不要。 您可以使用以下来实现这一点,它只适用于与hover类的链接:
<a class="hover" href="">click</a> a.hover { text-decoration: none; } a.hover:hover { text-decoration:underline; }
你应该使用:
a:hover { text-decoration: underline; }
hover
在CSS中是一个伪类。 无需分配class级。
上次我正在研究一个不错的缺陷,并且想知道更多关于如何正确使用hover属性的A标签链接和IE浏览器。 一个奇怪的事情是,IE浏览器无法捕获基于简单的Aselect器的A标签链接元素。 所以,我发现如何甚至强制捕获一个标签元素,我发现我们必须使用更多的特定CSSselect器。 下面是一个例子 – 它完美的作品:
li a[href]:hover {...}