最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:懂视网 责编:小采 时间:2020-11-27 18:47:50
文档

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

实例讲解如何用CSS语言创作一根闪电连接线:效果预览按下右侧的点击预览按钮可以在当前页面预览,点击链接可以全屏预览。https://codepen.io/comehope/pen/RBjdzZ可交互视频此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。请用 chrome, safari, edge 打开观看。http
推荐度:
导读实例讲解如何用CSS语言创作一根闪电连接线:效果预览按下右侧的点击预览按钮可以在当前页面预览,点击链接可以全屏预览。https://codepen.io/comehope/pen/RBjdzZ可交互视频此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。请用 chrome, safari, edge 打开观看。http
1.png

效果预览

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

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

可交互视频

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

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

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

代码解读

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

<p class="cable">
 <span class="head"></span>
 <span class="body"></span>
</p>

居中显示:

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动画实用技巧视频教程

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

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

实例讲解如何用CSS语言创作一根闪电连接线:效果预览按下右侧的点击预览按钮可以在当前页面预览,点击链接可以全屏预览。https://codepen.io/comehope/pen/RBjdzZ可交互视频此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。请用 chrome, safari, edge 打开观看。http
推荐度:
标签: 链接 连接 如何用
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top