实例讲解如何用CSS语言创作一根闪电连接线

1.png

效果预览

按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。

https://codepen.io/comehope/pen/RBjdzZ

可交互视频

此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。

请用 chrome, safari, edge 打开观看。

立即学习“前端免费学习笔记(深入)”;

https://scrimba.com/p/pEgDAM/cgkE6C6

代码解读

定义 dom,容器中包含 2 个元素,分别代表插头和线缆:

居中显示:

body {    margin: 0;    height: 100vh;    display: flex;    align-items: center;}

定义容器尺寸:

.cable {    display: flex;    align-items: center;    font-size: 10px;    margin-left: 5em;}

画出插头的轮廓:

.head {    width: 8.5em;    height: 8.5em;    border-radius: 2em 0 0 2em;}

画出插头上针脚的轮廓:

.head {    position: relative;}.head::before {    content: '';    position: absolute;    width: 3em;    height: 7.3em;    top: calc((8.5em - 7.3em) / 2);    left: 0.7em;    border-radius: 1em;    box-sizing: border-box;}

画出线缆中手持部位的轮廓:

.body {    width: 15.5em;    height: 11em;    border-radius: 0.5em;}

画出线缆中稍粗部位的轮廓:

.body {    position: relative;    display: flex;    align-items: center;}.body::before {    content: '';    position: absolute;    width: 13.5em;    height: 6em;    left: 15.5em;}

画出线缆的延长线部分:

.body::after {    content: '';    position: absolute;    width: 100vh;    height: 3.9em;    left: calc(15.5em + 13.5em);}

隐藏画面外的部分:

body {    overflow: hidden;}

接下来绘制细节。
为延长线涂上渐变色:

.body::after {    background:        linear-gradient(            white,            hsl(0, 0%, 96%) 5%,              hsl(0, 0%, 97%) 25%,             hsl(0, 0%, 95%) 40%,             hsl(0, 0%, 81%) 95%,            white        );}

为线缆中稍粗部位涂上渐变色:

.body::before {    background:        linear-gradient(            white,            hsl(0, 0%, 96%) 5%,              hsl(0, 0%, 98%) 20%,             hsl(0, 0%, 95%) 50%,             hsl(0, 0%, 81%) 95%,            white        );}

为线缆中手持部位涂上渐变色:

.body {    background:linear-gradient(        hsl(0, 0%, 91%),        white 15%,         hsl(0, 0%, 93%) 50%,         hsl(0, 0%, 87%) 70%,        hsl(0, 0%, 79%) 90%,        hsl(0, 0%, 84%),         hsl(0, 0%, 86%)    );}

为插头涂上渐变色:

.head {    background:        linear-gradient(            -45deg,             hsl(0, 0%, 75%),            hsl(0, 0%, 79%),            hsl(0, 0%, 78%),            hsl(0, 0%, 87%) 80%        );}

在插头上画出针脚:

.head::before {    background-color: white;}.head::after {    content: '';    position: absolute;    box-sizing: border-box;    width: 2.2em;    height: 0.4em;    color: goldenrod;    background-color: currentColor;    border-radius: 0.5em;    left: 1.1em;    top: 1.2em;    box-shadow:         0 0.8em 0,        0 1.6em 0,        0 2.4em 0,        0 3.2em 0,        0 4em 0,        0 4.8em 0,        0 5.6em 0;}

接下来添加阴影,使线缆更立体。
绘制插头上的阴影:

.head {    background:        linear-gradient(            90deg,             transparent 80%,            rgba(0,0,0,12%)        ),        linear-gradient(            -45deg,             hsl(0, 0%, 75%),            hsl(0, 0%, 79%),            hsl(0, 0%, 78%),            hsl(0, 0%, 87%) 80%        );}

绘制线缆手持部分的阴影:

.body::before {    background:        linear-gradient(            45deg,             rgba(0,0,0,4%) 10%,            transparent 20%        ),            linear-gradient(            90deg,             rgba(0,0,0,4%),             transparent 10%        ),        linear-gradient(            white,            hsl(0, 0%, 96%) 5%,              hsl(0, 0%, 98%) 20%,             hsl(0, 0%, 95%) 50%,             hsl(0, 0%, 81%) 95%,            white        );}

绘制线缆中稍粗部位的阴影:

.body::after {    background:        linear-gradient(            45deg,             rgba(0,0,0,4%),            transparent 4%        ),        linear-gradient(            90deg,             rgba(0,0,0,4%),            transparent 2%        ),        linear-gradient(            white,            hsl(0, 0%, 96%) 5%,              hsl(0, 0%, 97%) 25%,             hsl(0, 0%, 95%) 40%,             hsl(0, 0%, 81%) 95%,            white        );}

最后,为画面增加入场动画

.cable {    animation: show 5s linear infinite;}@keyframes show {    0% {        transform: translateX(100vw);    }    20%, 100% {        transform: translateX(0);    }}

大功告成!

相关文章:

使用纯CSS3创建一个纺锤形分隔线

如何使用纯CSS3创建一个简单的五角星图形

相关视频:

CSS动画实用技巧视频教程

以上就是实例讲解如何用CSS语言创作一根闪电连接线的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1610883.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 01:49:00
下一篇 2025年12月24日 01:49:30

相关推荐

  • 视频演示:如何用CSS 创作一颗逼真的土星 ?(附代码)

    效果预览 按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。 https://codepen.io/comehope/pen/EpbaQX 可交互视频 此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。 请用 chrome, safari, edge 打开观看。 立即学习“…

    好文分享 2025年12月24日
    000
  • css如何自定义滚动条(代码)

    本篇文章给大家分享的是关于css如何自定义滚动条(代码),内容很不错,有需要的朋友可以参考一下,希望可以帮助到大家。 html↓ css↓ .test { display: inline-block; margin: 60px 40%; width: 280px; padding: 5px 4px;…

    2025年12月24日
    000
  • css和js如何实现响应式导航菜单

    这篇文章分享给大家的内容是关于css和js如何实现响应式导航菜单,内容很有参考价值,希望可以帮到有需要的小伙伴。 1.响应式导航菜单 当视口大于640px的时候,导航条会显示在外,当视口小于768px的时候,导航菜单需要隐藏起来!代码如下: 响应式 首页 产品 购买 服务 联系 var btn=do…

    好文分享 2025年12月24日
    000
  • CSS实现响应式布局的方法

    这篇文章分享给大家的内容是关于css实现响应式布局的方法,内容很有参考价值,希望可以帮到有需要的小伙伴。 用CSS实现响应式布局 响应式布局感觉很高大上,很难,但实际上只用CSS也能实现响应式布局要用的就是CSS中的没接查询,下面就介绍一下怎么运用: 使用@media 的三种方法 1.直接在CSS文…

    2025年12月24日
    000
  • 关于css响应式的实现代码及效果

    这篇文章分享给大家的内容是关于css响应式的实现代码及效果,内容很有参考价值,希望可以帮到有需要的小伙伴。 1.CSS 来实现响应式 CSS实现响应式网站的布局要用到的就是CSS中的媒体查询接下来来简单介绍一下: @media 类型 and (条件1) and (条件二){css样式} 我们只需用到…

    2025年12月24日
    000
  • css关于浏览器兼容问题的解析

    这篇文章分享给大家的内容是关于css关于浏览器兼容问题的解析,内容很有参考价值,希望可以帮到有需要的小伙伴。 一、火狐1. 失效hack:采用jquery UI:datepicker插件。(1)下载插件,放置在项目文件夹中;(2)在所需页面引入,如: 此script与页面所需的对应的js位置不分先后…

    好文分享 2025年12月24日
    000
  • 如何理解BFC-块格式化上下文(图文)

    本篇文章分享给大家的内容是关于如何理解bfc-块格式化上下文(图文),内容很详细,接下来我们就来看看具体的内容,希望可以帮助到大家。 BFC概念 BFC(block formatting context)块格式化上下文, 是Web页面块级元素布局及浮动元素彼此交互的区域。BFC是一个独立的布局环境,…

    2025年12月24日 好文分享
    000
  • 如何用纯CSS实现动态行驶的火车

    这篇文章给大家介绍的文章内容是关于如何用纯css实现正在行驶中的火车,有很好的参考价值,希望可以帮助到有需要的朋友。 效果预览 代码解读 定义 dom,容器中包含 2 个元素,train 代表火车,track 代表铁轨,其中包含的 3 个 代表 3 根枕木。 居中显示: body{ margin: …

    2025年12月24日
    000
  • 如何使用CSS实现单元素点阵loader的效果

    这篇文章主要介绍了关于如何使用css实现单元素点阵loader的效果,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 源代码下载 每日前端实战系列的全部源代码请从 github 下载: https://github.com/comehope/front-end-daily-challe…

    2025年12月24日
    000
  • 如何使用纯CSS实现一台咖啡机的效果

    这篇文章主要介绍了关于如何使用纯css实现一台咖啡机的效果,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 源代码下载 每日前端实战系列的全部源代码请从 github 下载: https://github.com/comehope/front-end-daily-challenges …

    2025年12月24日
    000
  • 如何用纯CSS实现卡通鹦鹉的效果

    这篇文章主要介绍了关于如何用纯css实现卡通鹦鹉的效果,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 源代码下载 每日前端实战系列的全部源代码请从 github 下载: https://github.com/comehope/front-end-daily-challenges 代码…

    2025年12月24日
    000
  • 如何用纯CSS实现一副国际象棋

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

    2025年12月24日
    000
  • 教你如何用CSS来追踪用户

    我们可以用它来做什么 我们可以收集关于用户的一些基本信息,例如 屏幕分辨率(当浏览器最大化时)以及用户使用的什么浏览器(引擎) 此外,我们可以监测用户是否点击某个链接或鼠标悬停在某个元素上,用来 追踪用户悬停的链接,甚至可以 追踪用户如何移动鼠标(在页面使用不可见的字段),然而,使用目前我的方法只能…

    好文分享 2025年12月24日
    000
  • css3中的calc函数浅析_css3

    calc()对大家来说,或许很陌生,不太会相信calc()是css中的部分。但它却是就是css3的一部分,下面这篇文章主要给大家介绍了关于css3中calc函数的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下 前言 其实在之前学习CSS3的时候,我并没有注意到有calc()这个属性,…

    2025年12月24日
    000
  • CSS教程之深入浅析CSS 选择器分组

    这篇文章主要介绍了css 选择器分组的相关资料,需要的朋友可以参考下 选择器分组 假设希望 h2 元素和段落都有灰色。为达到这个目的,最容易的做法是使用以下声明: h2, p {color:gray;} 将 h2 和 p 选择器放在规则左边,然后用逗号分隔,就定义了一个规则。其右边的样式(color…

    好文分享 2025年12月24日
    000
  • CSS 设置滚动条样式的实例代码

    这篇文章主要介绍了css 设置滚动条样式的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧 CSS 设置滚动条样式的实现代码如下所示: •::-webkit-scrollbar 滚动条整体部分•::-webkit-scrollbar-thumb  滚动条里面的小方块,能向上向下移动(或…

    好文分享 2025年12月24日
    000
  • 利用CSS3实现炫酷的飞机起飞的动画

    这篇文章给大家演示如何只利用css3就能实现飞机起飞的动画,实现后的效果很赞,有需要的朋友可以参考借鉴。 有点遗憾的是云朵不好画,用图片代替了 实例源码 Plane *{margin:0;padding:0;} body{ height: 700px; background: rgb(42, 121…

    2025年12月24日
    000
  • 关于CSS3中filter(滤镜)属性的介绍

    这篇文章主要介绍了详解css3中强大的filter(滤镜)属性的相关资料,需要的朋友可以参考下 博主最近在做网站的过程中发现了一个非常强大的CSS3属性,就是filter(滤镜)属性,喜欢p图的朋友看名字都应该知道这是什么神器了吧。当然,这个属性的效果肯定不能跟ps相比,但是利用的好的话可以在节约很…

    2025年12月24日 好文分享
    000
  • 使用CSS3创建一个旋转可变色按钮

    这篇文章主要介绍了关于使用css3创建一个旋转可变色按钮,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 想把访客引到另一个页面?添加一个很炫的按钮是个很好的办法 !今天的文章提出了如何使用CSS3创建一个旋转,旋转,可变色按钮,需要了解的朋友可以参考下 想把访客引到另一个页面?添加一…

    好文分享 2025年12月24日
    000
  • CSS3中transform变换模型渲染的解析

    这篇文章主要介绍了关于css3中transform变换模型渲染的解析,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 transform通过一组函数实现了对盒子大小、位置、角度的2D或者3D变换,这里我们主要来深入解读CSS3中transform变换模型的渲染,尤其是关注web端3D渲…

    2025年12月24日 好文分享
    000

发表回复

登录后才能评论
关注微信