悬停 div,更改 :after pseudo of another div
Hover div, change :after pseudo of another div
悬停在另一个 div 上时是否可以更改 div 的伪元素 :after
?它看起来像这样:
.div2:after {
width: 34px;
height: 2px;
padding-top: 10px;
display: block;
margin: 0 auto;
content: "";
background-color: red;
background-clip: content-box;
}
.div:hover + .div2:after {
background-color: blue;
}
<div class="div">hover here</div>
<div class="div2">...</div>
我知道我可以用 Js 添加样式,但是 CSS 唯一的解决方案会很好。
你需要先定义:after
伪元素并给它一些内容,然后你就可以使用你定义的选择器来修改那个伪元素的属性。试试这个:
.div2:after {
content: 'FOO';
padding-left: 20px;
}
.div:hover + .div2:after {
color: red;
}
<div class="div">Hover me!</div>
<div class="div2">My :after content changes colour!</div>
您可以修改 :hover
状态 CSS 以更改您需要的任何属性。
你的选择器没问题,你只需要定义内容:
.div:hover + .div2:after {
content: 'hovering!'
}
<div class="div">...</div>
<div class="div2">...</div>
或者包含悬停和非悬停内容的示例:
.div2:after {
content: 'not hovering'
}
.div:hover + .div2:after {
content: 'hovering!'
}
<div class="div">...</div>
<div class="div2">...</div>
悬停在另一个 div 上时是否可以更改 div 的伪元素 :after
?它看起来像这样:
.div2:after {
width: 34px;
height: 2px;
padding-top: 10px;
display: block;
margin: 0 auto;
content: "";
background-color: red;
background-clip: content-box;
}
.div:hover + .div2:after {
background-color: blue;
}
<div class="div">hover here</div>
<div class="div2">...</div>
我知道我可以用 Js 添加样式,但是 CSS 唯一的解决方案会很好。
你需要先定义:after
伪元素并给它一些内容,然后你就可以使用你定义的选择器来修改那个伪元素的属性。试试这个:
.div2:after {
content: 'FOO';
padding-left: 20px;
}
.div:hover + .div2:after {
color: red;
}
<div class="div">Hover me!</div>
<div class="div2">My :after content changes colour!</div>
您可以修改 :hover
状态 CSS 以更改您需要的任何属性。
你的选择器没问题,你只需要定义内容:
.div:hover + .div2:after {
content: 'hovering!'
}
<div class="div">...</div>
<div class="div2">...</div>
或者包含悬停和非悬停内容的示例:
.div2:after {
content: 'not hovering'
}
.div:hover + .div2:after {
content: 'hovering!'
}
<div class="div">...</div>
<div class="div2">...</div>