带你看好玩的CSS-霓虹灯按钮

boyanx1个月前技术教程3

对于前端开发人员来说,css是我们再熟悉不过的朋友的,它就相当于是我们页面的衣服,页面好不好看,就看我们css运用的是否炉火纯青。css学起来简单,但是我们要把它“修炼”到出神入化境界,那这可不是一丁点时间就可以的,需要我们的日积月累,时刻专研。

而今天,就带给大家一个CSS特效-霓虹灯按钮,这也是我看到很不错的效果,带来分享给大家,希望大家喜欢

效果如下:

那好,废话不多说,开始我们的CSS代码。

准备一个HTML标签

// 这里我们用div标签来模拟button按钮,标签可以随意,a、p、span等都可以
// 通常在开发中使用别的标签来代替button标签,是因为原始的标签样式不好看,
// 我们还得重置样式,而其他标签不带有样式,我们可以更好的控制自己想要的样式,
// 当然,button标签也是可以的,但是如前面所说,原始的样式需要我们重置。
<div class="btn">button</div>

CSS部分的代码

body {
    margin: 0;
    padding: 0;
    background: #000; // 黑色背景,只为更能突出样式效果
}
// 初始化按钮样式
.btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
    height: 60px;
    text-align: center;
    line-height: 60px;
    color: #fff;
    font-size: 24px;
    font-family: sans-serif;
    text-decoration: none;
    text-transform: uppercase;
    box-sizing: border-box;
    // linear-gradient() 渐变属性,函数用于创建一个表示两种或多种颜色线性渐变的图片
    background: linear-gradient(90deg, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
    background-size: 400%;
    border-radius: 30px;
}

初始样式为这样:

然后我们给按钮加上动画,代码如下:

.btn:hover {
  	// linear: 动画从开始到结束具有相同的速度。
    // infinite: 无限次播放
    animation: animate 8s linear infinite;
}
@keyframes animate {
    0% {
        background-position: 0%;
    }
    100% {
        background-position: 400%;
    }
}

效果就变为下面这样:

最后我们给它加上鼠标移上去的效果,代码如下:

.btn::before {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    z-index: -1;
    background: linear-gradient(90deg, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
    background-size: 400%;
    border-radius: 40px;
    opacity: 0;
    transition: .5s;
}
.btn:hover::before {
    filter: blur(20px);
    opacity: 1;
    animation: animate 8s linear infinite;
}

现在这样,就是我们的最终效果了:

就此,我们的霓虹灯的按钮效果就完成了

不足百行,我们就完成了这个效果,以下是我们的CSS的全部代码:

body {
    margin: 0;
    padding: 0;
    background: #000;
}
.btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
    height: 60px;
    text-align: center;
    line-height: 60px;
    color: #fff;
    font-size: 24px;
    font-family: sans-serif;
    text-decoration: none;
    text-transform: uppercase;
    box-sizing: border-box;
    background: linear-gradient(90deg, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
    background-size: 400%;
    border-radius: 30px;
}
.btn:hover {
    animation: animate 8s linear infinite;
}
@keyframes animate {
    0% {
        background-position: 0%;
    }
    100% {
        background-position: 400%;
    }
}
.btn::before {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    z-index: -1;
    background: linear-gradient(90deg, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
    background-size: 400%;
    border-radius: 40px;
    opacity: 0;
    transition: .5s;
}
.btn:hover::before {
    filter: blur(20px);
    opacity: 1;
    animation: animate 8s linear infinite;
}
标签: animate css

相关文章

盘点25个高质量CSS开源项目!有需要的兄弟拿走!

盘点GitHub 上 25个CSS 开源项目,有的是规范指南,有的是好玩的 CSS 库,有的是动画库,有的是CSS技巧前端开发者可收藏本篇文章,方便日后查阅。如有帮助,点赞记录一下吧。1、Animat...

献给 Flash 的挽歌,Adobe 为其改名 Animate CC 谋新生

年过二十风雨变,美人迟暮忆当时。更名换命长延梦,再续前缘谁可知。Adobe 推出 Flash Professional 动画制作软件已有 20 个年头,但是随着苹果、谷歌等的抵制,它也终于到了不得不妥...

基于 Vue3 Element Plus 的中后台管理系统模板

Pure Admin 是一个开源的前端中后台管理系统模板,基于Vue3、Element-Plus,支持移动端、国际化、多主题设置,支持前端静态路由、后端动态路由配置,旨在为开发人员提供一个易于使用、高...

这个 Vue3 动效组件库,太酷了!

Element UI 和 Ant Design UI 等传统组件库虽然能满足日常中后台开发的需求,但有时候我们希望为用户带来更加炫酷的视觉体验。最近,我偶然发现了一个专为 Vue3 设计的动效组件库—...

Chrome 36 beta已发布:为Linux带来修订版app启动器

在发布Chrome 35稳定版2天之后,Google就宣布了Chrome 36 beta for Windows、Mac和Linux的消息。本次功能更新主要面向开发人员,尤其是在为移动设备打造Web内...

推荐 9 款值得收藏的 GitHub 开源项目

1MarkwhenMarkwhen 是一款强大的时间线生成工具,它能帮助你从 Markdown 文本创建美观的层级时间线。支持简单的美式/欧式日期风格、中式ISO8601、图片、链接、地点等多种格式。...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。