我如何更改背景颜色a:hover
使用持续时间为 0.3 秒的从底部到顶部的过渡?
<ul>
<li><a></a></li>
<li><a></a></li>
<li><a></a></li>
</ul>
那可能吗?
Thanks
没有办法(一般)在 CSS 中应用过渡方向。然而,我们可以解决办法通过使用伪元素(或其他方法,例如这个例子使用渐变)。
通过使用伪元素,它最初有一个visible高度为 0,当链接悬停时,我们可以将高度从所需方向转换到所需方向。最好使用transform: scale
出于性能原因,这意味着我们需要设置我们的transform-origin
to bottom center
在这种情况下,要确保它从下到上。
这种方法可能是最通用的,适用于非固体背景等,但确实需要伪元素或子元素。
该方法的 CSS 是:
li {
background: red;
}
a {
position: relative;
z-index: 1;
}
a::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
transform: scaleY(0);
transform-origin: bottom center;
background: blue;
z-index: -1;
transition: transform 0.3s;
}
a:hover::after {
transform: scaleY(1);
}
Demo
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)