最近关注了油管上的 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 霓虹灯转动效果,关于css:如何用纯-CSS-实现酷炫的霓虹灯效果相关推荐

  1. 如何用纯 CSS 实现优惠券效果

    ​ 背景 本文来自CODE.FUN  ,讲述如何用纯 CSS 实现优惠券效果的实践案例,分享给大家. 优惠券视觉效果 上面是优惠券的视觉效果,本文分享如何使用纯 CSS 实现它的主要框架,希望对大家有 ...

  2. html5霓虹效果代码,纯CSS实现酷炫的霓虹灯效果(附demo)

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

  3. HTML5绘制国际象棋,如何用纯CSS实现一副国际象棋

    这篇文章主要介绍了关于如何用纯CSS实现一副国际象棋 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 源代码下载 每日前端实战系列的全部源代码请从 github 下载: https:/ ...

  4. 如何用纯CSS将图片填满div,自适应容器大小

    如何用纯CSS将图片填满div,自适应容器大小  2016-10-11 13:33   网页设计   标签:css 代码   5987    3 我有一个模板,想按常规做一个div里面放置一个img图 ...

  5. 如何用纯 CSS 创作一个小球上台阶的动画

    如何用纯 CSS 创作一个小球上台阶的动画 效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/come ...

  6. 仟龙教您如何用html做一个酷炫掉渣的点名器

    本文关键详细介绍了如何用html做一个酷炫掉渣的点名器,原文中根据示例编码详细介绍的十分详尽,对大伙儿的学习或是工作中具备一定的参照学习使用价值,必须的小伙伴们下边伴随着我来一起学习学习吧 此点名器逐 ...

  7. 想实现前端酷炫的打字机效果吗

    实现酷炫的打字机效果插件typed.js 前言: 最近在写前端项目的过程中,在逛别人的优质的个人博客的时候,发现一个好玩有趣的东西.看下图,类似在打字的效果,然后又在思考的感觉,感觉整个网页都充满了思 ...

  8. 一分钟搞定触手app主页酷炫滑动切换效果

    代码地址如下: http://www.demodashi.com/demo/12826.html 前言: 前几天在看手机直播的时候,自己就用上了触手app.一进到主页就看上了里面页面切换的效果,自己想 ...

  9. Flutter 制作一个具有酷炫液体滑动效果的酷炫入门页面

    本文主要介绍如何使用 Flutter 制作一个具有酷炫液体滑动效果的酷炫入门页面 我将向您展示如何使用 Flutter 制作一个具有酷炫液体滑动效果的酷炫入门页面,所以不用多说,让我们开始吧.在本课程 ...

最新文章

  1. 推荐算法-聚类-DBSCAN
  2. python和表格关系_python – 单表继承上的SQLAlchemy一对多关系...
  3. 安装 tensorlayer
  4. 题库练习4(提取不重复的数字、字符个数统计、数字颠倒、字符串反转)
  5. css3 transtion and transform
  6. Tableau上面地图与条形图结合_何为计算的详细级别,认识Tableau中的Level of Detail...
  7. 雅马哈php mt7,雅马哈专业录音室监听耳机 HPH-MT7 正式发售!
  8. Java 和 Python 并列第二、Julia 下滑,揭晓 RedMonk 最新编程语言榜单!
  9. Mycat跨库join实现方式总结
  10. python函数手册pdf_Python参考手册(第4版 修订版) ([美]大卫 M.比兹利) 中文pdf扫描版[102MB]...
  11. 渗透测试工具之——WVSS(绿盟web应用漏洞扫描系统)概述
  12. 题529. 扫雷游戏
  13. 敏捷开发-Scrum
  14. 瑞星linux杀毒软件进程,高手请教:麻烦帮忙解释几个:瑞星杀毒软件的进程各表明什么?...
  15. java校内报纸实验报告_第六周Java实验报告四
  16. oracle资产负债表重分类吗,​资产负债表一般是重分类还是不重分类
  17. OLED显示材料的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  18. 产品经理——关于版式设计!!
  19. NoSQL(MongoDB) + GraphQL 快速入门环境和资料
  20. win10设置虚拟内存_原来win10这样设置,电脑就能释放30G,比win7运行还顺畅

热门文章

  1. 匿名无人机飞控代码整理3
  2. 软件测试:Jmeter性能测试以及压力测试
  3. 获取相机内参和外参的方法
  4. php直播源码,全屏无遮盖
  5. 京东APP地址加密的浅分析
  6. siesta在Linux运行,Installation of NetCDF(Linux下siesta集成NetCDF)
  7. python tkinter下载_学习使用tkinter
  8. thinkjs连接mysql_Mysql_ThinkJs2.0开发手册_w3cschool
  9. JS实现城市选择(详细讲解,步骤清晰)
  10. 大规模分布式存储系统:原理解析与架构实战