Fel*_*A J 4 css mix-blend-mode
我正在尝试使用以下鼠标悬停效果mix-blend-mode。它在 Chrome 和 Firefox 中按预期工作。
.btn-anim {
position: relative;
display: inline-block;
overflow: hidden;
padding: 1.25rem;
color: #fff;
--x: 66%;
--y: -34%;
}
.btn-anim:after,
.btn-anim:before {
position: absolute;
top: 0px;
left: 0px;
height: 100%;
width: 100%;
transition: transform cubic-bezier(0.88, 0.03, 0, 0.94) 0.3s;
}
.btn-anim:before {
content: "";
position: absolute;
--tw-bg-opacity: 1;
background-color: rgba(243, 109, 69, var(--tw-bg-opacity));
z-index: -1;
transform: translateX(var(--x));
}
.btn-anim:after {
content: "";
position: absolute;
--tw-bg-opacity: 1;
background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
mix-blend-mode: difference;
transform: translateX(var(--y));
}
.btn-anim:hover:before {
transform: translateX(0);
}
.btn-anim:hover:after {
transform: translateX(-100%);
}Run Code Online (Sandbox Code Playgroud)
<a href="" class="btn-anim">Learn More About Services</a>Run Code Online (Sandbox Code Playgroud)
Codepen - https://codepen.io/felixaj/pen/GROJyoR
Safari 显示黑色补丁。该问题的解决方法是什么?
或者还有其他方法可以达到同样的效果吗?
仅当背景颜色为白色时此功能才有效。
在浅灰色背景色上使用时是否有更好的方法来实现这种效果?
Codepen 更新为灰色背景 div 中的按钮。
Kno*_*ert 14
从乔纳森那里找到了一些帮助https://greensock.com/forums/topic/21802-issues-with-safari-perspective-mix-blend-mode/
就是添加transform: translate3d(0,0,0);到.btn-anim.
它将它放在相同的渲染层上,然后 Safari 可以应用与 FF/Chrome 相同的效果。
| 归档时间: |
|
| 查看次数: |
6309 次 |
| 最近记录: |