悬停效果插件 Class 仅使用 CSS
Hover Effect Addon Class Using CSS Only
我正在尝试仅使用 CSS 创建可重复使用的悬停效果 class。我知道如果愿意使用 JS 或其他标记,可以通过多种方式实现这种效果,但这不是我的意图。
我的问题的核心是,我发现似乎不能在伪元素上使用伪选择器。这令人沮丧,因为我相信有了上述功能,下面的代码片段就足够了。
.btn-hover-effect {
position: relative;
}
.btn-hover-effect::before {
content: "";
background-color: rgba(0, 0, 0, 0);
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.btn-hover-effect::before:hover {
background-color: rgba(0, 0, 0, 0.5);
}
悬停效果适用于 .btn-hover-effect 按钮,因此您应该先 link 它。
.btn-hover-effect:hover::before
您所做的事情是在悬停之前针对伪元素,这是行不通的。
这是一个有效的测试片段:
.btn-hover-effect {
position: relative;
}
.btn-hover-effect::before {
content: "";
background-color: rgba(0, 0, 0, 0);
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
transition: background-color 0.1s ease-in;
}
.btn-hover-effect:hover::before {
background-color: rgba(0, 0, 0, 0.5);
}
<button class="btn-hover-effect">Hello World</button>
我正在尝试仅使用 CSS 创建可重复使用的悬停效果 class。我知道如果愿意使用 JS 或其他标记,可以通过多种方式实现这种效果,但这不是我的意图。
我的问题的核心是,我发现似乎不能在伪元素上使用伪选择器。这令人沮丧,因为我相信有了上述功能,下面的代码片段就足够了。
.btn-hover-effect {
position: relative;
}
.btn-hover-effect::before {
content: "";
background-color: rgba(0, 0, 0, 0);
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.btn-hover-effect::before:hover {
background-color: rgba(0, 0, 0, 0.5);
}
悬停效果适用于 .btn-hover-effect 按钮,因此您应该先 link 它。
.btn-hover-effect:hover::before
您所做的事情是在悬停之前针对伪元素,这是行不通的。
这是一个有效的测试片段:
.btn-hover-effect {
position: relative;
}
.btn-hover-effect::before {
content: "";
background-color: rgba(0, 0, 0, 0);
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
transition: background-color 0.1s ease-in;
}
.btn-hover-effect:hover::before {
background-color: rgba(0, 0, 0, 0.5);
}
<button class="btn-hover-effect">Hello World</button>