当鼠标悬停在a
上时,我该如何更改页面背景?我正在寻找仅使用css的解决方案。
我知道可以通过css访问子元素,但不知道如何/能否访问body元素。
html
部分<a href="">link 1</a>
这里是 css
的代码。
body {
background: lightblue;
}
a:hover:before {
content: '';
position: fixed;
display: block;
top: 0; bottom: 0; left: 0; right: 0;
z-index: -1;
background-color: grey;
}
a:hover:before
应该是 position: fixed;
,因为链接可能在具有 position: relative;
的容器中,然后背景将根据容器的位置出现。 - Viktor Maksimov :: before
符号。这将创建一个伪元素,它是关联元素的第一个子元素,您可以对其应用额外的样式。然后,您可以将 :: before 选择器样式化以使用特定的背景颜色填充屏幕。例如:
<a class="special">Test</a>
.special:hover:before{
content: '';
position: fixed;
display: block;
top: 0; bottom: 0; left: 0; right: 0;
z-index: -1;
background-color: #ff0000;
}
你不需要在那里使用nth-of-type
或其他任何东西。请参见我的这里示例。你所需要做的就是确保before元素是全屏的,在z顺序的后面,并具有特定的颜色。
.special-blue:hover:before
只包含 background-color: #00ff00
。然后您的链接将具有类 special special-blue
。 - Matt Way
jquery
来实现这个。 - Mike Ross