最近关注了油管上的 CSS Animation Effects Tutorial 系列,里面介绍了非常多有意思的 CSS 动效。其中第一个就是很酷炫的霓虹灯效果,这里就实现思路做一个简单的记录和分享。

这是要实现的效果:

可以看到,在鼠标移入按钮的时候,会产生类似霓虹灯光的效果;在鼠标移出按钮的时候,会有一束光沿着固定的轨迹(按钮外围)运动。

霓虹灯光的实现

霓虹灯光的实现比较简单,用多重阴影来做即可。我们给按钮加三层阴影,从内到外每层阴影的模糊半径递增,这样的多个阴影叠加在一起,就可以形成一个类似霓虹灯光的效果。这段的代码如下:

HTML:

Neon Button

CSS:

body {

background: #050901;

}

.light {

width: fit-content;

padding: 25px 30px;

color: #03e9f4;

font-size: 24px;

text-transform: uppercase;

transition: 0.5s;

letter-spacing: 4px;

cursor: pointer;

}

.light:hover {

background-color: #03e9f4;

color: #050801;

box-shadow: 0 0 5px #03e9f4,

0 0 25px #03e9f4,

0 0 50px #03e9f4,

0 0 200px #03e9f4;

}

最终的效果如下:

运动光束的实现

虽然看起来只有一个光束沿着按钮的边缘运动,但实际上这是四个光束沿着不同方向运动之后叠加的效果。它们运动的方向分别是:从左往右、从上往下、从右往左、从下往上,如下图所示:

在这个过程中,光束和光束之间产生了交集,如果只看按钮的边缘部分,就很像是只有一个光束在做顺时针方向的运动。

下面是具体实现中几个需要注意的点:

四个光束分别对应 div.light 的四个子 div,初始位置分别是在按钮的最左侧、最上方、最右侧和最下方,并按照固定的方向做重复的运动

每个光束的高度或宽度都很小(只有 2px),并且都有一个从透明色到霓虹色的渐变,因此外表会有一个收束的效果(即看上去不是一条完整的线条)

为了确保我们看到的是一个顺时针方向的运动,四个光束的运动实际上是有序的,首先是按钮上方的光束开始运动,在一段时间后,右侧的光束运动,在一段时间后,下方的光束运动,在一段时间后,左侧的光束运动。光束和光束之间的运动有一个延迟,以上方和右侧的光束为例,如果它们同时开始运动,由于右侧的运动距离小于上方的运动距离,就会导致这两个光束错过相交的时机,我们看到的就会是断开的、不连贯的光束。既然右侧光束的运动距离比较短,为了让上方光束可以“追上”它,我们就得让右侧光束“延迟出发”,因此要给它一个动画延迟;同理,剩余两个光束也要有一个动画延迟。多个动画延迟之间大概相差 0.25 秒即可。

只需要显示按钮边缘的光束就够了,因此给 div.light 设置一个溢出隐藏

代码如下:

HTML:

Neon Button

CSS:

.light {

position: relative;

padding: 25px 30px;

color: #03e9f4;

font-size: 24px;

text-transform: uppercase;

transition: 0.5s;

letter-spacing: 4px;

cursor: pointer;

overflow: hidden;

}

.light:hover {

background-color: #03e9f4;

color: #050801;

box-shadow: 0 0 5px #03e9f4,

0 0 25px #03e9f4,

0 0 50px #03e9f4,

0 0 200px #03e9f4;

}

.light div {

position: absolute;

}

.light div:nth-child(1){

width: 100%;

height: 2px;

top: 0;

left: -100%;

background: linear-gradient(to right,transparent,#03e9f4);

animation: animate1 1s linear infinite;

}

.light div:nth-child(2){

width: 2px;

height: 100%;

top: -100%;

right: 0;

background: linear-gradient(to bottom,transparent,#03e9f4);

animation: animate2 1s linear infinite;

animation-delay: 0.25s;

}

.light div:nth-child(3){

width: 100%;

height: 2px;

bottom: 0;

right: -100%;

background: linear-gradient(to left,transparent,#03e9f4);

animation: animate3 1s linear infinite;

animation-delay: 0.5s;

}

.light div:nth-child(4){

width: 2px;

height: 100%;

bottom: -100%;

left: 0;

background: linear-gradient(to top,transparent,#03e9f4);

animation: animate4 1s linear infinite;

animation-delay: 0.75s;

}

@keyframes animate1 {

0% {

left: -100%;

}

50%,100% {

left: 100%;

}

}

@keyframes animate2 {

0% {

top: -100%;

}

50%,100% {

top: 100%;

}

}

@keyframes animate3 {

0% {

right: -100%;

}

50%,100% {

right: 100%;

}

}

@keyframes animate4 {

0% {

bottom: -100%;

}

50%,100% {

bottom: 100%;

}

}

这样就可以达到文章开头图片的效果了。

不同颜色的霓虹灯

如果想要其它颜色的霓虹灯光效果怎么办呢?是否需要把相关的颜色重新修改一遍?其实我们有更简单的方法,就是使用 filter:hue-rotate(20deg) 一次性修改 div.light 和内部所有元素的色相/色调。

The hue-rotate() CSS function rotates the hue of an element and its contents.

最终效果如下:

到此这篇关于纯CSS实现酷炫的霓虹灯效果(附demo)的文章就介绍到这了,更多相关CSS霓虹灯 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

html5霓虹效果代码,纯CSS实现酷炫的霓虹灯效果(附demo)相关推荐

  1. 如何用纯 CSS 实现酷炫的霓虹灯效果?

    最近关注了油管上的 CSS Animation Effects Tutorial 系列,里面介绍了非常多有意思的 CSS 动效.其中第一个就是很酷炫的霓虹灯效果,这里就实现思路做一个简单的记录和分享. ...

  2. css 霓虹灯转动效果,关于css:如何用纯-CSS-实现酷炫的霓虹灯效果

    最近关注了油管上的 CSS Animation Effects Tutorial 系列,外面介绍了十分多有意思的 CSS 动效.其中第一个就是很酷炫的霓虹灯成果,这里就实现思路做一个简略的记录和分享. ...

  3. 纯CSS打造酷炫霓虹灯loading bar特效

    本篇文章我们要来实现一个酷炫的霓虹灯特效的加载条loading bar的特效,如下图所示: 可以看到,这个loading bar的周围有霓虹灯一样的朦胧美感,而且底部还有一个倒影,这是怎么做到的呢? ...

  4. html百叶窗效果代码,纯CSS 3D百叶窗图像过渡特效

    你可能已经在网上看到过不少使用jQuery制作的百叶窗效果,我们可不可以使用纯CSS来完成这项工作呢?答案是肯定的.我们不仅可以制作出这种百叶窗效果,还可以使它具有响应性. 要制作纯CSS的百叶窗效果 ...

  5. 纯CSS实现酷炫渐变色、旋转动画特效

    一.效果展示 首先来看一下我们最终要实现的效果: 旋转放大: 垂直下落: 旋转掉落: 接下来我们就用CSS进行实现. 二.代码实现 1.定义盒子 此时的效果: 2.添加hover伪类选择器 此时效果: ...

  6. html 实现3d效果代码,纯CSS实现3D的代码

    一.正方体 我认为正方体可以算是3D图像的基础吧,首先正方体是由六个相同的面所组成,其次就需要我们依次构造.(据体构造在代码中) 代码如下: 正方体 .d3{ height:300px; width: ...

  7. html用css写彩虹,如何使用纯CSS实现彩虹条纹文字的效果(附代码)

    本篇文章给大家带来的内容是关于如何使用纯CSS实现彩虹条纹文字的效果(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 效果预览 源代码下载 https://github.co ...

  8. html气球飘落代码,纯CSS代码实现各类气球泡泡对话框效果

    一.关于纯CSS实现气泡对话框 首先,来张大图: 上边这张黄黄的,大大的,圆圆的,有个小尾巴,文字内容有些YY的图片,就是使用纯CSS实现的气泡对话框效果,一点图片都没有哦.看到这里,你是不是跟我一样 ...

  9. OneNav一为主题魔改教程(二):使用纯css增加网站Logo扫光效果--洞五洞洞幺

    今日主题: 使用纯css增加网站Logo扫光效果 声明:本篇有违"魔改"这个标题:本篇只为增加收录.并且复习使用纯css给logo加上扫光效果. 效果: 可以目测 洞五洞洞幺 导航 ...

最新文章

  1. python打印空心平行四边形的面积公式_打印等腰三角形和空心平行四边形
  2. Spark-快速上手
  3. gradle 项目运行主类报错
  4. Android踩坑日记:Android字体属性及测量(FontMetrics)
  5. 上传图片预览,支持IE6
  6. Atitti.java exp ast java表达式语法ast构造器
  7. flutter引入高德地图_Flutter笔记-调用原生IOS高德地图sdk
  8. 把svg图标制作成字体图标_让我们用SVG符号和CSS变量制作彩色图标
  9. 合成孔径雷达算法与实现_地基干涉合成孔径雷达图像非线性大气相位补偿方法...
  10. tracker服务器包含什么信息,tracker服务器
  11. B站左程云算法视频高级班02
  12. imagemagick对于图像处理的一些方式
  13. 程序员如何提高自己的能力
  14. hive两拼接字段对比,涉及到的拼接字段拼接顺序问题
  15. P5030 长脖子鹿放置
  16. 我喜欢用计算机300,我最喜欢的游戏作文300字(精选10篇)
  17. html页面中加skype,分享个刚学会的电子邮件中加Skype即时联络标签的方法~有用请顶...
  18. 7-6 水仙花数 (20分)
  19. 三年级信息技术用计算机打字教案,信息技术教案三年级(下册)
  20. U盘怎样传输大于4G的文件?

热门文章

  1. 基于单片机蓄电池充放电检测系统设计-毕设资料
  2. javaone_Java SE 9在JavaOne 2017上达到了Atari般的性能
  3. 企业级自动化运维平台
  4. 财务数据分析sql python_会计转到数据分析值得吗?
  5. QT中用到hwnd的句柄
  6. 没戏,做不到,不存在的“不可能三角”
  7. 读保哥《ASP.NET MVC2开发实战》第二回(Model)
  8. 2022年的春节假期,消费者们都在如何“花钱”
  9. 麦肯锡|稻盛和夫|麦肯锡方法与稻盛经营哲学
  10. 小Y看浮屠世界-纸杯世界:含有荧光增白剂的爆米花桶只是冰山一角