【二次元的CSS】—— 纯CSS3做的能换挡的电扇
这次分享的电扇,和以往用css3画人物相比 多加了一点交互,就是电扇开关的地方,用到了一点点css3的 :checked +div 这个很少用到的选择器来实现的。
GitHub传送门:https://github.com/lancer07/css3_fan
效果是这样的
HTML 结构
小技巧就是,一开始就写了一组单选按钮来做开关的部分。把单选按钮的透明度设为0,然后在后面叠加一个div来画开关的样式。
<div id="fan">
<input type="radio" name="switch" class="switch_0"/>
<div class="switch_btn_0">0</div>
<input type="radio" checked name="switch" class="switch_1"/>
<div class="switch_btn_1">1</div>
<input type="radio" name="switch" class="switch_2"/>
<div class="switch_btn_2">2</div>
<input type="radio" name="switch" class="switch_3"/>
<div class="switch_btn_3">3</div>
<div class="mask">
<div class="logo">CSS3 Fan</div>
<div class="line_1"></div>
<div class="line_2"></div>
<div class="line_3"></div>
<div class="line_4"></div>
<div class="line_5"></div>
<div class="line_6"></div>
<div class="leafs">
<div class="leaf_1"></div>
<div class="leaf_2"></div>
<div class="leaf_3"></div>
</div>
</div>
<div class="header"></div>
<div class="neck"></div>
<div class="neck_footer"></div>
<div class="bottom"></div>
<div class="bottom_footer_1"></div>
<div class="bottom_footer_2"></div>
</div>
开关部分的LESS代码如下
.switch{
position: absolute;
width: 24px;
height: 24px;
top: 296px;
z-index: 13;
opacity: 0;
cursor: pointer;
}
.switch_0{
.switch;
left: 50px;
&:checked+div{
&+input+div+input+div+input+div+.mask{
.leafs{
animation-play-state:paused;
}
}
}
}
.switch_1{
.switch;
left: 75px;
&:checked+div{
background: #a9af27;
color: #0e6873;
&+input+div+input+div+.mask{
.leafs{
animation-duration : 0.7s
}
}
}
}
.switch_2{
.switch;
left: 100px;
&:checked+div{
background: #a9af27;
color: #0e6873;
&+input+div+.mask{
.leafs{
animation-duration : 0.4s
}
}
}
}
.switch_3{
.switch;
left: 125px;
&:checked+div{
background: #a9af27;
color: #0e6873;
&+.mask{
.leafs{
animation-duration : 0.3s
}
}
}
}
看起来有点low。
至于电扇的CSS样式部分就不再赘述了。
有个地方需要优化,就是在换挡的时候,动画应该柔和些。有同学想到用什么办法优化下吗?
本文转载于:猿2048→https://www.mk2048.com/blog/blog.php?id=hih1chbkjkj
【二次元的CSS】—— 纯CSS3做的能换挡的电扇的更多相关文章
- 【二次元的CSS】—— 用 DIV + CSS3 画咸蛋超人(详解步骤)
[二次元的CSS]—— 用 DIV + CSS3 画咸蛋超人(详解步骤) 2016-05-17 HTML5cn 仅仅使用div作为身体的布局,用css3的各种transform和圆角属性来绘制各部位的 ...
- CSS源码之纯css3制作的哆啦a梦图片
本文章向大家介绍一个纯css3制作的哆啦a梦图像,主要巧妙的使用了css3的border-radius属性,需要的朋友介意参考一下本文章的源码. 效果图: 源码 <!doctype html&g ...
- 纯CSS3实现的一些酷炫效果
之前在网上看到一些用纯CSS3实现的酷炫效果,以为实现起来比较困难,于是想看看具体是怎么实现的. 一.笑脸猫动画 实现效果如下: 这个实现起来确实比较麻烦,很多地方需要花时间,有耐心地调整. 1.先看 ...
- 纯css3 加载loading动画特效
最近项目中要实现当页面还没有加载完给用户提示正在加载的loading,本来是想做个图片提示的,但是图片如果放大电脑的分辨率就会感觉到很虚,体验效果很不好.于是就采用css3+js实现这个loading ...
- 纯CSS3实现常见多种相册效果
本文包含 1.CSS3中2D转换和3D转换的介绍. 2.在相册中的应用实例. CSS3中的转换效果和动画效果十分强大好用,可以实现一些常见的动态效果. 如此一来,CSS3便可以代替许多jQuery的功 ...
- 纯CSS3打造七巧板
原文:纯CSS3打造七巧板 最近项目上要制作一个七巧板,脑子里瞬间闪现,什么...七巧板不是小时候玩的吗... 七巧板的由来 先来个科普吧,是我在查资料过程中看到的,感觉很有意思. 宋朝有个叫黄伯思的 ...
- 纯CSS3美化单选按钮radio
这种纯CSS3美化单选按钮radio的方法适用于以下情况: 1.可兼容IE9以上,需要兼容IE8的要写IE的hack把样式去掉 2.只支持单选按钮radio,因为单选按钮选中样式的圆圈可以用CSS做出 ...
- 纯CSS3实现的顶部社会化分享按钮
今天要分享一款纯CSS3实现的社会化分享按钮,它放置在网页的顶部,你可以选择将它固定在网页顶部,这样对用户分享内容就十分方便.这些社会化分享按钮的图标文件来自google和bootstrap的字体文件 ...
- 一款纯css3实现的数字统计游戏
今天给大家分享一款纯css3实现的数字统计游戏.这款游戏的规则的是将所有的数字相加等于72.这款游戏的数字按钮做得很美观,需要的时候可以借用下.一起看下效果图: 在线预览 源码下载 实现的代码. ...
随机推荐
- WPS:为什么无法页眉页脚同前节(同前节是灰的)
问题:,同前节是灰的 原因:全文只有一节,插入分节符就可以设置同前节了
- pyinstaller打包exe文件,运行时一闪而过
pyinstaller打包exe文件出现命令窗口一闪而过 原因:exe运行过程中出错了,解决这些错误就可以了 解决方法: 通过 cd path >> xxx.exe 在命令行中运行exe文 ...
- Python 完美诠释"高内聚"概念的 IO 流 API 体系结构
1. 前言 第一次接触 Python 语言的 IO API 时,是惊艳的.相比较其它语言所提供的 IO 流 API . 无论是站在使用者的角度还是站在底层设计者的角度,都可以称得上无与伦比. 很多人在 ...
- Linux CentOS 7.X-关机、重启命令
一.命令操作 1.退出命令 退出登陆命令:logout: 2.关闭命令 立即关机:shutdown -h now(root用户) halt poweroff 延时关机:shutdown -h m ...
- mysql破解root口令
破解root口令 [root@centos8 ~]#vim /etc/my.cnf [mysqld] skip-grant-tables #取消密码验证 skip-networking # mysql ...
- jq全选、全不选、反选、单删、批量删除
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...
- javaScript阻止浏览器F5刷新
1 <script type="text/javascript"> 2 //禁止用F5键 3 document.onkeydown = function (e) { 4 ...
- ssm配置推荐
1.JDK 1.8 2.Mysql 5.7 3.Maven 3.6.1
- TypeScript 初体验
TypeScript学习 1 安装环境 a 首先安装node.js node.js 用来将ts文件解析成js文件 供浏览器使用: 解析ts文件 tsc filename.ts b. 使用npm (no ...
- .NetCore(.NET6)中使用swagger和swagger版本控制
一..NET6中使用swagger swagger支持 API 自动生成同步的在线文档,下面在.NET6中引入 1.建.NET6应用并建以下控制器 /// <summary> /// 订单 ...