实例讲解如何用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
视频演示:如何用CSS 创作一颗逼真的土星 ?(附代码)
下一篇 2025年12月24日 01:49:30

相关推荐

  • 抖音直播怎么投屏?如何把手机直播投屏到电视上

    在如今这个信息爆炸的时代,抖音直播已经成为人们生活中不可或缺的一部分。无论是明星、网红还是普通用户,都在抖音上分享自己的生活和才艺。而在观看抖音直播时,很多人都会遇到一个问题:如何将手机屏幕上的直播内容投屏到电视或其他大屏幕上?下面,我就来为大家详细讲解一下抖音直播怎么投屏。 一、投屏方式概述 抖音…

    2026年8月26日
    000
  • 外媒称iPhone 17 Pro Max有三大优势 和17 Pro相比

    据海外媒体报道,苹果公司即将推出的iphone 17系列中,顶级型号iphone 17 pro max有望在多个维度上相较于iphone 17 pro实现进一步提升。虽然二者在核心性能方面或将保持同步,但pro max版本预计将在屏幕尺寸、电池续航以及外观设计细节上展现出更明显的竞争优势。 市场传言…

    2026年8月26日
    000
  • 苹果怎么设浏览器默认_iPhone设置默认浏览器应用教程

    从iOS 14起可设第三方浏览器为默认。先确认Chrome、Edge等已支持并更新,再进入设置→浏览器→默认浏览器应用→选择对应浏览器,最后点击链接验证是否生效。 从iOS 14开始,苹果允许用户将第三方浏览器设为默认应用。虽然系统自带Safari仍是初始默认,但你可以轻松更换成Chrome、Edg…

    2026年8月26日
    100
  • 如何在IbexaDXP中实现强大的数据持久化,Composer助你轻松搭建内容平台

    最近在开发一个处理用户提交数据的程序时,遇到了一个棘手的问题:用户输入的文本中包含各种非ASCII字符,例如中文、日文、特殊符号等等。这些字符导致程序在处理字符串时效率低下,甚至出现错误。为了解决这个问题,我尝试了多种方法,最终找到了voku/portable-ascii这个库。Composer在线…

    用户投稿 2026年8月26日
    000
  • MAC电脑的内置摄像头打不开权限在哪里设置_MAC设置内置摄像头权限方法

    首先检查系统隐私权限设置,确保应用已授权访问摄像头;若问题未解决,可尝试重启摄像头服务、重置NVRAM/PRAM、确认用户账户权限并更新系统与应用至最新版本。 如果您尝试使用视频会议软件或拍照应用时发现MAC电脑的内置摄像头无法启动,可能是由于系统权限未正确配置。以下是解决此问题的步骤: 本文运行环…

    2026年8月26日
    000
  • 微信公众号小程序怎么做_微信公众号关联小程序开发教程

    微信公众号小程序怎么做_微信公众号关联小程序开发教程微信公众号小程序怎么做_微信公众号关联小程序开发教程微信公众号小程序怎么做_微信公众号关联小程序开发教程微信公众号小程序怎么做_微信公众号关联小程序开发教程

    先完成小程序开发与审核,再通过公众号后台授权绑定。需先注册开发者账号并认证公众号,创建小程序项目后使用微信开发者工具进行开发,提交审核通过后,在公众号后台关联小程序AppID,实现多入口展示与运营联动。 微信公众号关联小程序,核心在于先独立完成小程序的开发与审核,然后通过公众号后台进行简单的授权绑定…

    2026年8月26日 用户投稿
    100
  • iPhone 17最新渲染图曝光:浅蓝、浅绿、紫色成焦点

    苹果iphone 17预计将在今年9月正式亮相,尽管外观设计已基本敲定,但关于配色方案仍存在分歧。据cnmo获悉,根据相关传闻,有海外媒体推出了iphone 17的最新渲染图。 iPhone 17渲染图 iPhone 17将提供丰富的颜色选择,但不同消息来源提供的具体配色略有出入。比如,Sonny …

    2026年8月26日
    200
  • UC浏览器视频小窗播放怎么用_UC浏览器视频小窗播放方法

    在UC浏览器播放视频时,按返回键或滑动退出可启用小窗模式;02. 若未自动开启,可通过菜单手动选择“小窗播放”;03. 小窗支持拖动、缩放与手势控制,便于多任务操作。 如果您在观看视频时希望同时浏览其他内容,可以使用UC浏览器的视频小窗播放功能,让视频以悬浮窗口的形式继续播放。该功能适用于移动端操作…

    2026年8月26日
    000
  • IDC:多家大厂延后新品推出 今年AR/VR出货年减12%明年强弹87%

    研调机构 idc 报告指出,由于 2025 年多家关键厂商新品推出时程延后,ar/vr 头戴式装置全球出货量将年减 12%,主因供应指标显示,但到了 2026 年市场将强劲反弹,成长幅度高达 87%,出货量有望超越 2021 年疫情期间创下的 1120 万台历史高峰。 IDC 指出,2024 年 A…

    2026年8月26日
    000
  • 如何让你的Magento2商店说法语?使用Composer轻松部署多语言包

    可以通过一下地址学习composer:学习地址 我最近在负责一个magento 2电商平台,老板雄心勃勃地想拓展法国市场。然而,摆在我面前的第一个难题就是:如何让我的英文商店“说”法语?如果用户访问网站时看到的是熟悉的母语界面,无疑会大大提升他们的购物体验,增加转化率。 最初,我考虑过手动下载法语语…

    用户投稿 2026年8月26日
    000
  • 告别繁琐的图标管理:如何轻松在LaravelBlade中使用FeatherIcons,让开发效率飞起来!

    可以通过一下地址学习composer:学习地址 还记得吗?在 laravel 项目中需要用到一些小图标时,我们常常需要手动下载 svg 文件,然后小心翼翼地嵌入到 blade 视图中。这不仅让代码变得冗长,难以阅读,还特别难以维护和管理。想象一下,如果项目中有几十个甚至上百个图标,每次需要修改颜色、…

    用户投稿 2026年8月26日
    100
  • 苹果8怎么设置闹钟

    一、启动时钟程序 在iPhone 8的主屏幕中,找到带有时钟图标的App,轻触一下即可进入“时钟”应用界面。 二、切换至闹钟功能页 打开应用后,底部会显示多个标签,包括“世界时钟”、“闹钟”、“计时器”等。点击“闹钟”标签,进入闹钟管理界面。 三、新增闹钟任务 在该页面的右上角有一个“+”按钮,点击…

    2026年8月26日
    000
  • 微信公众号报名怎么做_微信公众号活动报名功能设置教程

    微信公众号报名怎么做_微信公众号活动报名功能设置教程微信公众号报名怎么做_微信公众号活动报名功能设置教程微信公众号报名怎么做_微信公众号活动报名功能设置教程微信公众号报名怎么做_微信公众号活动报名功能设置教程

    答案:微信公众号活动报名主要通过第三方工具或自主开发实现。推荐使用“活动行”“金数据”等第三方平台,操作简便、成本低,适合大多数运营者;若有定制化需求且具备技术能力,可基于微信开发接口自行搭建。选择工具时需考量功能匹配度、易用性、成本、数据安全及品牌定制能力。设计表单应精简字段、优化移动端体验、增强…

    2026年8月26日 用户投稿
    000
  • 怎么给豆瓣APP评分一颗星_应用商店评分与反馈方法

    首先打开App Store,通过个人账户或搜索找到豆瓣应用,进入详情页后点击“给豆瓣评分”,选择星级并填写评论,最后发送即可完成评分提交。 如果您想在应用商店为豆瓣APP提交评分,但不确定具体操作流程,则可能是由于对评分入口和步骤不熟悉。以下是解决此问题的步骤: 本文运行环境:iPhone 15 P…

    2026年8月26日
    100
  • 红果漫剧观看卡顿如何解决_红果漫剧流畅观看设置技巧

    视频卡顿可先尝试切换网络并靠近路由器增强信号,再将红果漫剧画质调至标清,清除应用缓存后更新应用及系统版本,最后重启设备或关闭后台程序以释放内存。 如果您在观看红果漫剧时遇到视频卡顿、加载缓慢或频繁缓冲的情况,这通常与网络连接、设备性能或应用设置有关。以下是解决此问题的步骤: 一、检查并优化网络环境 …

    2026年8月26日
    000
  • VSCode怎么自动生成HTML_VSCode快速生成HTML基础模板结构教程

    输入!按Tab即可生成HTML5模板,VSCode通过Emmet实现高效编码,支持自定义片段和高级缩写,提升开发效率。 说实话,刚开始用VSCode写HTML的时候,我也觉得每次都要手动敲 、 、 那些东西挺麻烦的。后来才发现,VSCode在快速生成HTML基础模板结构这方面做得真是相当到位,主要就…

    2026年8月26日
    000
  • 当外卖补贴成为持久战,新茶饮六小龙会统一战线吗?

    文:向善财经 在外卖补贴大战的带动下,今年上半年,中国新茶饮市场迎来了一场前所未有的狂欢。 原本一杯售价10-25元的现制奶茶,如今只需要两三块,甚至0元就能拿到手。 这也让新茶饮品牌们顺势收获了一大波增长。 比如古茗,今年上半年的营收同比增速直接来到了41.2%,位居“新茶饮六小龙”增速榜首。排名…

    2026年8月26日
    000
  • 怎么优化苹果浏览器打开_Safari启动速度优化与缓存清理教程

    先检查网络连接,确认Wi-Fi或蜂窝数据正常,切换网络或重启路由器;若无效,还原网络设置。接着清理Safari缓存与历史记录,关闭多余标签页。更新iOS系统,重置浏览器设置,必要时强制重启手机。最后检查隐私设置与存储空间,关闭“阻止跨网站跟踪”测试,确保剩余空间充足。按序排查网络、缓存、系统问题,可…

    2026年8月26日
    000
  • iPhone SE4 渲染图曝光 预计 2025 年发布

    【太平洋科技资讯】近日,iphone se4 cad 渲染图在网上曝光。据了解,新机将于 2025 年发布,并将有望首发苹果自研 5g 基带。 根据最新数据,相关博主制作了 iPhone SE4 CAD 渲染图。从渲染图中可以看出,这款新手机是 iPhone SE 系列首款采用刘海屏设计的机型。随着…

    2026年8月26日
    000
  • 如何优雅地抓取网页数据?simplehtmldom助你轻松搞定

    可以通过一下地址学习composer:学习地址 在日常的web开发中,我们常常会遇到一个令人头疼的需求:从外部网站提取特定信息。比如,你需要构建一个比价工具来抓取不同电商平台的商品价格,或者开发一个内容聚合器来收集各大新闻网站的头条。 面对这些任务,你可能会尝试各种方法。如果HTML结构简单,也许几…

    用户投稿 2026年8月26日
    000

发表回复

登录后才能评论
关注微信