30秒的CSS - 动态按钮

只需要30秒学会的CSS - 动态按钮



一组初始 html 如下

    <button class="btn btn1">btn style</button>
    <button class="btn btn2">btn style</button>

样式预览
未设置样式的 btn



接下来为 btn 设置样式

    .btn {
    /* 去掉按钮背景颜色 */
    background: none;
    border: 2px solid #000;
    /* 英文格式化为大写 */
    text-transform: uppercase;
    padding: 12px 20px;
    min-width: 180px;
    /* 改变选中后的鼠标样式 */
    cursor: pointer;
}

样式预览
设置样式的 btn



为 btn 添加动画

    .btn {
        position: relative;
        background: none;
        border: 2px solid #000;
        text-transform: uppercase;
        padding: 12px 20px;
        min-width: 180px;
        cursor: pointer;
        /* 设置动画时间以及速度方式 */
        transition: all 0.4s linear;
    }

    .btn:hover {
        color: #f1f1f1;
    }

    .btn::before {
        position: absolute;
        content: "";
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: #000;
        z-index: -1;
        transform-origin: 0 0;
        /* 使 transform 动画用 0.5s 执行完成 */
        transition: transform 0.5s;
        /* 贝塞尔曲线 */
        transition-timing-function: cubic-bezier(0.5, 1.6, 0.4, 0.7);
    }

    /* 使按钮动画由X轴 从 0 到 1 */
    .btn1::before {
        transform: scaleX(0)
    }
  
    .btn1:hover::before {
        transform: scaleX(1)
    }

    /* 使按钮动画由Y轴 0 到 1 */
    .btn2::before {
        transform: scaleY(0)
    }

    .btn2:hover::before {
        transform: scaleY(1)
    }

样式预览 - (GIF看起来可能有点卡 , 实际上效果是不错的 , 建议尝试一下)
样式GIF


源码下载



相关资料

CSS cursor
CSS text-transform
CSS3 transform
CSS3 transition
贝塞尔曲线

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值