75.纯 CSS 创作一支摇曳着烛光的蜡烛
原文地址:https://segmentfault.com/a/1190000015580809
学习后效果地址:https://scrimba.com/c/c8PQ3PTB
感想:CSS 真强大!
HTML code:
<!-- candle: 蜡烛; glow: 光晕; flames:火焰; thread:灯芯 -->
<div class="candle">
<span class="glow"></span>
<span class="flames"></span>
<span class="thread"></span>
</div>
CSS code:
html, body {
margin:;
padding:;
}
/* 设置body的子元素水平垂直居中 */
body{
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
background-color: black;
}
/* 画出蜡烛的轮廓 */
.candle{
position: relative;
top: 10em;
display: flex;
justify-content: center;
/* 现在浏览器默认12px */
font-size: 12px;
width: 15em;
height: 30em;
/* 显示border看清candle的大小
border: 1px solid white; */
border-radius: 10em / 4em;
box-shadow:
inset 2em -3em 5em rgba(0, 0, 0, 0.4),
inset -2em 0 5em rgba(0, 0, 0, 0.4);
background: linear-gradient(
orange,
darkorange,
sienna,
saddlebrown 50%,
rgba(0, 0, 0, 0.6)
);
}
/* 用伪元素画出蜡烛的顶面 */
.candle::before{
position: absolute;
/* 设置为此元素设置的width、height包括此元素的border、padding、content */
box-sizing: border-box;
content: '';
width: 100%;
height: 5em;
border: 0.2em solid darkorange;
border-radius: 50%;
background: radial-gradient(
#444,
orange,
saddlebrown,
sienna,
darkorange
);
filter: opacity(0.7);
}
/* 画出灯芯 */
.thread{
position: absolute;
top: -1.8em;
width: 0.6em;
height: 3.6em;
/* border: 1px solid white; */
border-radius: 40% 40% 0 0;
background: linear-gradient(
#111,
black,
orange 90%
);
}
/* 画出蜡烛轮廓 */
.flames{
position: absolute;
width: 2.4em;
/* border: 1px solid white;*/
}
/* 利用flames的::before伪元素画出內焰 */
.flames::before{
position: absolute;
top: -4.8em;
content:'';
box-sizing: border-box;
width: 100%;
height: 6em;
border: 0.2em solid transparent;
border-radius: 50% 50% 35% 35%;
filter: opacity(0.7);
}
/* 利用flames的::after伪元素画出外焰 */
.flames::after{
position: absolute;
top: -12em;
content:'';
width: 100%;
height: 12em;
border-radius: 50% 50% 20% 20%;
box-shadow: 0 -0.6em 0.4em darkorange;
background: linear-gradient(white 80%, transparent);
animation:
enlarge 5s linear infinite,
move 6s linear infinite;
}
@keyframes move {
0%, 100% {
transform: rotate(-2deg);
}
50% {
transform: rotate(2deg);
}
}
@keyframes enlarge {
0%, 100% {
height: 12em;
top: -12em;
}
50% {
height: 14em;
top: -13em;
}
}
/* 画出光晕 */
.glow{
position: absolute;
top: -16.5em;
width: 10em;
height: 18em;
border-radius: 50%;
background-color: orangered;
filter: blur(6em);
animation: blink 100ms infinite;
}
/* 为光晕增加闪烁效果 */
@keyframes blink{
to{
filter: blur(6em) opacity(0.8);
}
}
75.纯 CSS 创作一支摇曳着烛光的蜡烛的更多相关文章
- 49.纯 CSS 创作一支诱人的冰棍
原文地址:https://segmentfault.com/a/1190000015257561 感想:重点在让色彩滚动起来->background-position: 0 1000vh; HT ...
- 如何用纯 CSS 创作一支诱人的冰棍
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/vrxzMw 可交互视频教 ...
- 前端每日实战:49# 视频演示如何用纯 CSS 创作一支诱人的冰棍
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/vrxzMw 可交互视频教程 此视频 ...
- 3.纯 CSS 创作一个容器厚条纹边框特效
原文地址:3.纯 CSS 创作一个容器厚条纹边框特效 没有啥好点子呀,不爽 HTML代码: <div class="box"> <div class=" ...
- 2.纯 CSS 创作一个矩形旋转 loader 特效
原文地址:2.纯 CSS 创作一个矩形旋转 loader 特效 扩展后地址:https://scrimba.com/c/cNJVWUR 扩展地址:https://codepen.io/pen/ HT ...
- 1.纯 CSS 创作一个按钮文字滑动特效 + 弹幕(残缺)
原文地址:1# 视频演示如何用纯 CSS 创作一个按钮文字滑动特效 扩展后地址:https://scrimba.com/c/cJkzMfd HTML代码: <html> <head& ...
- 如何创作用纯 CSS 绘制一支栩栩如生的铅笔
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/PaZYBw 可交互视频教 ...
- 74.纯 CSS 创作一台 MacBook Pro
原文地址:https://segmentfault.com/a/1190000015568609 HTML code: <div class="macbook"> &l ...
- 63(原67).纯 CSS 创作单元素点阵 loader
原文地址:https://segmentfault.com/a/1190000015444368 感想:CSS又一次让我见识到它的强大之处 --> box-shadow . box-shadow ...
随机推荐
- NABCD(团队项目)
N (Need 需求) 随着时代的进步和手机迅速发展,各种软件充斥这我们的生活,在学校里,我们总为一些各种各样的群所困扰,我们需要一件工具整合信息,让我们的生活更加便利. A (Approach 做法 ...
- 1ubuntu安装虚拟机
安装相关打软件:(qemu-kvm qemu-system是kvm和qemu的核心包,libvirt-bin用于管理kvm,virt-manager图形管理工具,bridge-utils vlan,主 ...
- onvif 框架代码生成
1:gsoap官网(http://gsoap2.sourceforge.net/)下载最新版gsoap(本次版本为gsoap_2.8.17)并解压. 2:新建一个文件夹(OnvifFramework) ...
- SDL中 so库的使用
用到的项目:Tocy-Android-SDLv2 JAVA层:只有一个 SDLActivity.java 路径\Android-SDLv2\src\org\libsdl\app 项目简单分析: 默认在 ...
- 解决win7无法运行bat批处理文件的方法
在win7系统中我们可以将一些命令制作为bat批处理文件,只需双击打开即可运行命令,方便使用. 那么,要怎么运行bat批处理呢?最近有用户反馈,遇到无法运行bat批处理的现象,该怎么办呢? 修复方法一 ...
- centos6.5-VMware虚拟机-双网卡绑定
1 添加多张网卡(生产环境中有多个卡槽,可用ifconfig查看) 2 编辑两张虚拟机的网卡和物理机的连接方式,这里两张都使用NAT即可 3 打开虚拟机查看所有的网卡(网络接口),修改配置网卡配置文件 ...
- springAop注解式Demo
package AnnoAspect.Aspect; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.anno ...
- django1.4 简单事例 ,根目录下templates
django发展很快,但是有的是用的老版本,比如我现在看到一个项目,它用的是 Django1.4,而且app不是创建在了项目的根目录下,这样,它的Setting中设置就会不一样,若是设置错误,就会找不 ...
- 拖放事件(drop events)在Firefox上运行会出现的问题
可能会有人觉得我废话特别多,我就在开头写一个简单粗暴的版本: 在Firefox中ondrop事件会触发Firefox自带的拖拽搜索功能,在ondrop事件触发执行时触发的函数中加上这两条: /* 禁止 ...
- linux下的c程序排版工具:indent
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u010839382/article/details/30779523 Linux下有一个方便的c语言 ...