悬停时从底部到顶部更改背景

 北极光的悲伤 发布于 2023-02-09 14:22

如何a:hover使用从底部到顶部的过渡来更改背景颜色,持续时间为0.3秒?

那可能吗?

谢谢

1 个回答
  • 没有办法(通常)在CSS中应用转换方向.但是,我们可以通过使用伪元素(或其他方法,如本示例如何使用渐变)来解决该限制.

    通过使用最初具有0 的可见高度的伪元素,我们可以在链接悬停时从高处转换到期望的方向.这是最好的使用transform: scale性能方面的原因,这意味着我们需要设置我们transform-originbottom 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);
    }
    

    演示

    2023-02-09 14:24 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有