我正在实施一个“打开音乐播放器”按钮,将音乐播放器滑入视图。滑动在我的实际项目代码中工作正常,但悬停状态给我带来了问题。
具体要求:
before
进行模拟)无法与按钮本身耦合。 :(如果我注释掉linear-gradient
样式,悬停就可以了。但当它们出现时,它们似乎会干扰按钮的悬停状态,使其闪烁,有时甚至完全消失。
谢谢!
答案 0 :(得分:1)
如果主要元素是三角形而伪元素是背景,则用户可能会遇到闪烁效果。以下是代码中的相关部分:
&:before {
content: "";
position: absolute;
display: block;
width: 100%;
height: 100%;
background: purple;
}
.open-player-btn {
margin: 15px;
border-style: solid;
border-width: 20px 0 20px 34px;
border-color: transparent transparent transparent orange;
.hover-opacity;
}
尝试更改放置伪元素的元素。这是经过修改的代码:
.open-player-btn {
width: 100%;
height: 100%;
background: purple;
.hover-opacity;
&:before {
content: "";
position: absolute;
display: block;
margin: 15px;
border-style: solid;
border-width: 20px 0 20px 34px;
border-color: transparent transparent transparent orange;
}
}
更新:
如果我没有弄错,箭头应该面向打开状态,但渐变应该保持不变。如下更改CodePen上的度数似乎可以解决问题。
&.open {
.open-player-btn-wrapper {
transform: rotate(90deg);
}
.open-player-btn {
transform: rotate(-90deg);
&:before { transform: rotate(180deg); }
}
}