gpt4 book ai didi

css - 将一个伪元素悬停时,是否会出现另一个伪元素?

转载 作者:技术小花猫 更新时间:2023-10-29 10:38:52 25 4
gpt4 key购买 nike

我试图生成一个使用 :before:after 伪元素的屏幕,但我想知道这样的功能是否真的可行。

我有一个包裹着输入的包装器 div(允许在此包装器上使用 伪元素)。

类似于:

+-----------------------------------+
| +-------------------------------+ |
| | | | <-- wrapper div
| +-------------------------------+ <-- input element
+-----------------------------------+

但是,我希望在 div 之后放置一个伪元素。

+-----------------------------------++-------+
| +-------------------------------+ | |¯¯¯| |
| | | | / |
| +-------------------------------+ | ! |<--pseudo element
+-----------------------------------++-------+

我希望能够悬停这个伪元素,并让另一个伪元素出现。

.wrap {
position: relative;
height: 30px;
width: 200px;
display: inline-block;
}
.wrap input {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
}
.wrap:after {
content: "?";
position: absolute;
top: 0;
left: 100%;
height: 30px;
width: 30px;
font-size: 30px;
text-align: center;
}
.wrap:before {
content: "";
position: absolute;
top: 100%;
left: 0;
height: 60px;
width: 100%;
background: tomato;
opacity:0.2;
}
<div class="wrap">
<input placeholder="input element" type="text" />
</div>


根据上面的代码片段设计,当我只悬停在 :after 元素而不是 时,是否有一种方法可以使 :before 元素改变其不透明度>wrap div 本身(注意:html 不能更改,因此为什么会出现这个问题)?


我尝试使用类似的东西:

.wrap:not(input):hover:before{

在将输入的宽度更改为 90% 之后,但这并没有什么不同

最佳答案

我知道这不完全是您所要求的,但是在 css 可以选择父项(即将到来)之前,您可以再添加一个 html 元素:

<div class="wrap">
<div class="inner_wrap">
<input placeholder="input element" type="text" />
</div>
</div>

CSS:

.wrap {
position: relative;
height: 30px;
width: 200px;
display: inline-block;
}
.wrap input {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
}
.wrap:after {
content: "?";
position: absolute;
top: 0;
left: 100%;
height: 30px;
width: 30px;
font-size: 30px;
text-align: center;
}
.inner_wrap:before {
content: "";
position: absolute;
top: 100%;
left: 0;
height: 60px;
width: 100%;
background: tomato;
opacity:0.2;
display:none;
}
.wrap:hover .inner_wrap:before{
display:block;
}
.wrap .inner_wrap:hover:before{
display:none;
}

http://fiddle.jshell.net/0vwn1w9t/

关于css - 将一个伪元素悬停时,是否会出现另一个伪元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29601511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com