纯CSS仿制Google女生节Doodle
看到google今天的女生节Doodle,自己用纯css仿制一个,送给老妈、老婆、女儿。
实现原理
1.利用checkbox侦听处理单击事件。
2.单击按钮、花、背景分别作盒子,公用背景并作背景偏移。
3.单击按钮之后,利用:checked伪类和兄弟选择符,为花、背景盒子作动画。
好的,来看html
- <input type="checkbox" id="play" />
- <div id="cont">
- <label id="btn" for="play"></label>
- <div id="circle"></div>
- </div>
css文件,具体参见注释。
- /* 设置容器 */
- #cont{
- width:482px;
- height:250px;
- background:url("http://www.google.com/logos/2014/womensday14/sprite-initial.png");
- background-position:-20px -10px;
- position:absolute;
- left:50%;
- top:50%;
- margin:-125px 0 0 -241px;
- }
- /* 设置按钮 */
- #btn{
- width:60px;
- height:78px;
- position:absolute;
- left:204px;
- top:64px;
- background:url("http://www.google.com/logos/2014/womensday14/sprite-initial.png");
- background-position:-1495px -110px;
- /* 确保垂直层次在#circle上面 */
- z-index:10;
- }
- #circle{
- /* 初始状态下,花不显示 */
- opacity:0;
- width:79px;
- height:79px;
- position:absolute;
- top:60px;
- left:184px;
- background:url("http://www.google.com/logos/2014/womensday14/sprite-initial.png");
- background-position:-1495px -190px;
- z-index:1;
- }
- /* hover状态下按钮样式 */
- #btn:hover{
- cursor:pointer;
- background-position:-1495px -30px;
- }
- /* 单击之后,按钮隐藏 */
- #play:checked~#cont #btn{
- display:none;
- }
- /* 单击之后,花显示,并轮转 */
- #play:checked~#cont #circle{
- opacity:1;
- animation:roll 1.8s linear infinite;
- }
- /* 单击之后,背景动画,这里偷了个懒,真比较少,注意一定是steps动画效果 */
- #play:checked~#cont{
- animation:run 1.2s steps(1,end) infinite;
- }
- @keyframes run{
- 0%{background-position:-20px -10px;}
- 33%{background-position:-521px -10px;}
- 66%{background-position:-1012px -10px;}
- 100%{background-position:-20px -10px;}
- }
- @keyframes roll{
- 0%{transform:rotate(0deg)}
- 100%{transform:rotate(360deg)}
- }
完工,请大家批评指正。
纯CSS仿制Google女生节Doodle的更多相关文章
- 使用纯 CSS 实现 Google Photos 照片列表布局
文章太长,因为介绍了如何一步一步进化到最后接近完美的效果的,不想读的同学可以直接跳到最后一个大标题之后看代码.demo及原理就好,或者也可以直接看下面这个链接的源代码. 不过还是建议顺序读下去,因为后 ...
- 纯CSS无hacks的跨游览器多列布局
利用纯CSS创建一个等高多列的布局并不件易事,本教程将着重分析出现在多列布局的多个问题,然后为大家等来一个简单全游览器通吃的解决方法,不使用图片,脚本,CSS hacks并在最严格的XHTML 规范中 ...
- 黑科技:纯CSS定制文本省略
作者:weilong,腾讯 web前端开发 工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest导读 拿到设计MM的设计稿,Oh NO,点点点后面又双叒叕加内容了,弹丸 ...
- 纯css实现div中未知尺寸图片的垂直居中
1.淘宝的方法 在曾经的"淘宝UED招聘"中有这样一道题目: “使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中.” 当然出题并不是 ...
- 纯CSS打造BiliBili样式博客主题
前言 一直以来,我都在思考如何减少不必要的JS代码,仅通过CSS来实现博客园主题美化.CSS有很多魔法代码,例如:before,iconfont,order,等等,利用好这些技巧,也能实现很好美化效果 ...
- 谈谈一些有趣的CSS题目(八)-- 纯CSS的导航栏Tab切换方案
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- 一个标签的72变,打造一个纯CSS图标库
每次要用到图标的时候都会到 icono 去copypaste,但每次用到的时候尺寸都各不一样,总是要调整参数,巨烦.当然你可以会想到用zoom.scale来做缩放,但是这样的缩放会使得线宽也变粗了,不 ...
- 利用animation和text-shadow纯CSS实现loading点点点的效果
经常在网上看到loading状态时的点点点的动态效果,自己也用JS写了一个,思路是使用一个计数参数,然后在需要添加点的元素后面利用setInterval一个一个加点,当计数到3时,把点变为一个--写完 ...
- 使用纯CSS实现带箭头的提示框
爱编程爱分享,原创文章,转载请注明出处,谢谢!http://www.cnblogs.com/fozero/p/6187323.html 1.全部代码 <!DOCTYPE html> < ...
随机推荐
- bzoj千题计划167:bzoj3527: [Zjoi2014]力
http://www.lydsy.com/JudgeOnline/problem.php?id=3527 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. 以n=4为例: ...
- HDU 1525 类Bash博弈
给两数a,b,大的数b = b - a*k,a*k为不大于b的数,重复过程,直到一个数为0时,此时当前操作人胜. 可以发现如果每次b=b%a,那么GCD的步数决定了先手后手谁胜,而每次GCD的一步过程 ...
- TPS低,CPU高--记一次storm压测问题排查过程
一.业务背景+系统架构 本次场景为kafka+storm+redis+hbase,通过kafka的数据,进入storm的spout组件接收,转由storm的Bolt节点进行业务逻辑处理,最后再推送进k ...
- Go语言知识点笔记
golang的花括号: 在go中,继承了C系的花括号作为一个作用域块的包含范围指示,但不同于C/C++中花括号位置可任意摆放,go要求“ { ”必须在右侧(一行代码尾部),不能单独另起一行.类似Pyt ...
- SDL封装的系统操作(转载)
Andrew Haung bluedrum@163.com SDL封装很多操作系统的功能,为了保证SDL程序可移植性,最好尽量用这一些封装函数,哪果没有的话,才使用各种操作本地函数. 对于如何封各个 ...
- Android Bander设计与实现 - 设计
Binder Android IPC Linux 内核 驱动 摘要 Binder是Android系统进程间通信(IPC)方式之一.Linux已经拥有管道,system V IPC,socket等IPC ...
- 金蝶K3物料选择问题(感觉Ctrl被按住了一样)
金蝶K3在进入物料选择时,有时需要用Ctrl才可以进行多选,为什么有时不用Ctrl也可以进行多选,就像Ctrl被按住了一样? 解决:在物料选择界面按2次ctrl键单击物料可实现多选,再按2次ctrl则 ...
- C#基础学习之StreamReader和StreamWriter
StreamReader和StreamWriter操作字符的 FileStream操作字节的 //使用StreamReader读取文件 using (StreamReader sr=new Strea ...
- MVVM模式的命令绑定
命令绑定要达到的效果 命令绑定要关注的核心就是两个方面的问题,命令能否执行和命令怎么执行.也就是说当View中的一个Button绑定了ViewModel中一个命令后,什么时候这个Button是可用的, ...
- php环境搭建 (window环境下 eclipse+Wampserver)
看了好多的环境搭建感觉好复杂呀,自己搞了一下简单的可以用了 php的手册 http://www.php.net/manual/zh/ 一,下载 1,下载eclipse http://www.ecl ...