带闪亮动画的按钮 - 分步指南

超文本标记语言

对于 HTML,我们只有一个按钮元素。

<button>Button</button>

CSS

对于 CSS,首先我们要设置按钮的样式。

我们将删除边框并将其四舍五入 1 像素。

然后我们将背景设置为绿色,添加一些填充,隐藏溢出的所有内容并将位置设置为相对。

button {
    border: none;
    border-radius: 1px;
    padding: 5px 20px;
    background: #00ffb3;
    position: relative;
    overflow: hidden;
}

现在我们将设置 before 伪元素的样式。该元素将产生光泽效果。

我们将内容和位置设置为绝对高度、100 像素宽度。

背景将是线性渐变,旋转 120 度,两个透明之间有白色。

我们将 top 设置为 0,将 left 设置为 -100 像素(元素的宽度)。

button:before {
    content: '';
    position: absolute;
    width: 100px;
    height: 100%;
    background-image: linear-gradient(
        120deg,
        rgba(255,255,255, 0) 30%,
        rgba(255,255,255, .8),
        rgba(255,255,255, 0) 70%
    );
    top: 0;
    left: -100px;
}

现在我们将创建动画。

我们只需将 left 属性设置为 -100 像素(在动画的 0% 处)和 100%(在动画的 20% 处)。

另外,我们将动画设置为 100% 到 100%,这样元素就不会移回其原始位置。

@keyframes shine {
    0% {left: -100px}
    20% {left: 100%}
    100% {left: 100%}
}

现在我们将动画添加到伪元素之前,持续时间为 3 秒,无限,线性。

button:before {
    content: '';
    position: absolute;
    width: 100px;
    height: 100%;
    background-image: linear-gradient(
        120deg,
        rgba(255,255,255, 0) 30%,
        rgba(255,255,255, .8),
        rgba(255,255,255, 0) 70%
    );
    top: 0;
    left: -100px;
    animation: shine 3s infinite linear; /* Animation */
}

就是这样。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q shen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值