实现步骤:

基础HTML:

<div class="box-taiji">
<div class="circle-01"></div>
<div class="circle-02"></div>
</div>

步骤一:

.box-taiji {width:400px;height:400px;position:relative;margin:50px auto;border-radius:400px;background-color:#;box-shadow:  50px rgba(,,,.);}

画一个宽高为400px的圆,加上阴影。

步骤二:

.box-taiji {width:400px;height:400px;position:relative;margin:50px auto;border-radius:400px;background-color:#;box-shadow:  50px rgba(,,,.);}
.box-taiji:before,
.box-taiji:after {width:200px;height:400px;position:absolute;top:;display:block;content:"";}
.box-taiji:before {left:;border-radius:200px 200px;background-color:#;}
.box-taiji:after {right:;border-radius: 200px 200px ;background-color:#fff;}

利用伪类实现左右两个半圆,一黑一白。宽为200px,高为400px;

步骤三:

.box-taiji {width:400px;height:400px;position:relative;margin:50px auto;border-radius:400px;background-color:#;box-shadow:  50px rgba(,,,.);}
.box-taiji:before,
.box-taiji:after {width:200px;height:400px;position:absolute;top:;display:block;content:"";}
.box-taiji:before {left:;border-radius:200px 200px;background-color:#;}
.box-taiji:after {right:;border-radius: 200px 200px ;background-color:#fff;}
.circle-,
.circle- {width:200px;height:200px;position:absolute;z-index:;border-radius:300px;}
.circle- {top:;left:100px;background-color:#;}

.box-taiji {width:400px;height:400px;position:relative;margin:50px auto;border-radius:400px;background-color:#;box-shadow:  50px rgba(,,,.);}
.box-taiji:before,
.box-taiji:after {width:200px;height:400px;position:absolute;top:;display:block;content:"";}
.box-taiji:before {left:;border-radius:200px 200px;background-color:#;}
.box-taiji:after {right:;border-radius: 200px 200px ;background-color:#fff;}
.circle-,
.circle- {width:200px;height:200px;position:absolute;z-index:;border-radius:300px;}
.circle- {top:;left:100px;background-color:#;}
.circle- {bottom:;right:100px;background-color:#fff;}

依次画两个宽高都为200px的圆,一黑一白。上下定位。

步骤四:

.box-taiji {width:400px;height:400px;position:relative;margin:50px auto;border-radius:400px;background-color:#;box-shadow:  50px rgba(,,,.);}
.box-taiji:before,
.box-taiji:after {width:200px;height:400px;position:absolute;top:;display:block;content:"";}
.box-taiji:before {left:;border-radius:200px 200px;background-color:#;}
.box-taiji:after {right:;border-radius: 200px 200px ;background-color:#fff;}
.circle-,
.circle- {width:200px;height:200px;position:absolute;z-index:;border-radius:300px;}
.circle- {top:;left:100px;background-color:#;}
.circle- {bottom:;right:100px;background-color:#fff;}
.circle-:after,
.circle-:after {width:75px;height:75px;position:absolute;z-index:;display:block;content:"";border-radius:75px;}
.circle-:after {top:60px;left:55px;background-color:#fff;}
.circle-:after {bottom:60px;right:55px;background-color:#;}

组后两个黑白小圆,加上,布局效果搞定。

步骤五:

.box-taiji {width:400px;height:400px;position:relative;margin:50px auto;border-radius:400px;background-color:#;box-shadow:  50px rgba(,,,.);animation:rotation .5s linear infinite;-webkit-animation:rotation .5s linear infinite;-moz-animation:rotation .5s linear infinite;}
.box-taiji:before,
.box-taiji:after {width:200px;height:400px;position:absolute;top:;display:block;content:"";}
.box-taiji:before {left:;border-radius:200px 200px;background-color:#;}
.box-taiji:after {right:;border-radius: 200px 200px ;background-color:#fff;}
.circle-,
.circle- {width:200px;height:200px;position:absolute;z-index:;border-radius:300px;}
.circle- {top:;left:100px;background-color:#;}
.circle- {bottom:;right:100px;background-color:#fff;}
.circle-:after,
.circle-:after {width:75px;height:75px;position:absolute;z-index:;display:block;content:"";border-radius:75px;}
.circle-:after {top:60px;left:55px;background-color:#fff;}
.circle-:after {bottom:60px;right:55px;background-color:#;}
@keyframes rotation {
% {transform:rotate(0deg);}
% {transform:rotate(360deg);}
}
@-webkit-keyframes rotation {
% {-webkit-transform:rotate(0deg);}
% {-webkit-transform:rotate(360deg);}
}
@-moz-keyframes rotation {
% {-moz-transform:rotate(0deg);}
% {-moz-transform:rotate(360deg);}
}

添加上动画效果,搞定、收工!!!

总结:

1、效果布局主要用了用了3个DIV,配合:before、:after利用css3中的圆角(border-radius)、阴影(box-shadow)完成。

2、动画效果CSS3中的@keyframes、animation

完整代码:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS3绘制旋转的太极图案</title>
<style>
body {background-color:#;}
.box-taiji {width:400px;height:400px;position:relative;margin:50px auto;border-radius:400px;background-color:#;box-shadow: 50px rgba(,,,.);animation:rotation .5s linear infinite;-webkit-animation:rotation .5s linear infinite;-moz-animation:rotation .5s linear infinite;}
.box-taiji:before,
.box-taiji:after {width:200px;height:400px;position:absolute;top:;display:block;content:"";}
.box-taiji:before {left:;border-radius:200px 200px;background-color:#;}
.box-taiji:after {right:;border-radius: 200px 200px ;background-color:#fff;}
.circle-,
.circle- {width:200px;height:200px;position:absolute;z-index:;border-radius:300px;}
.circle- {top:;left:100px;background-color:#;}
.circle- {bottom:;right:100px;background-color:#fff;}
.circle-:after,
.circle-:after {width:75px;height:75px;position:absolute;z-index:;display:block;content:"";border-radius:75px;}
.circle-:after {top:60px;left:55px;background-color:#fff;}
.circle-:after {bottom:60px;right:55px;background-color:#;}
@keyframes rotation {
% {transform:rotate(0deg);}
% {transform:rotate(360deg);}
}
@-webkit-keyframes rotation {
% {-webkit-transform:rotate(0deg);}
% {-webkit-transform:rotate(360deg);}
}
@-moz-keyframes rotation {
% {-moz-transform:rotate(0deg);}
% {-moz-transform:rotate(360deg);}
}
</style>
</head> <body> <div class="box-taiji">
<div class="circle-01"></div>
<div class="circle-02"></div>
</div> </body>
</html>

CSS3绘制旋转的太极图案(一)的更多相关文章

  1. 基于CSS3伪元素和动画绘制旋转太极图

    通过CSS3的动画知识来完成一个旋转的太极. 任务 1.创建一个div,用CSS控制其大小.边框.位置等,做成一个静态的圆形,一半为红色一半为白色. 2.用div的伪元素位置两个圆环并放置核实位置,使 ...

  2. html5--5-14 阶段小练习:绘制太极图案

    html5--5-14 阶段小练习:绘制太极图案 学习要点 运用前几节课的知识完成一个小练习 这个图案有多种不同的绘制方法,这里只做一个简单的演示,练习的时候可以自己思考一下,尝试其他的方法,或者对这 ...

  3. css3绘制几何图形

    用css3绘制你需要的几何图形 1.圆形 示例: 思路:给任何正方形元素设置一个足够大的 border-radius ,就可以把它变成一个圆形.代码如下: html: <div class=&q ...

  4. HTML 5:绘制旋转的太极图

    HTML: <!DOCTYPE> <html> <head> <meta charset="utf-8" /> <title& ...

  5. 用纯CSS3绘制萌系漫画人物动态头像

    大家已经见惯了用CSS3画的图标.LOGO.头像,这次台湾同学Rei给我们带来了用纯CSS3绘制的日本动漫<轻音少女>女主角秋山澪的动态头像.看到动图我震惊了!!!CSS3的强大再次霸气测 ...

  6. 【项目1-1】使用HTML5+CSS3绘制HTML5的logo

    作为一个WEB小萌新,自学了有一段时间,总是感觉停滞不前.最近反思中,想到前贤一句话:书读百遍其义自见.说到底,还是项目做的少,如果做多了,想必自然会得心应手. 利用HTML5+CSS3绘制HTML5 ...

  7. .NET绘制旋转太极图

    .NET绘制旋转太极图 我之前发了一篇<用.NET写"算命"程序>的文章,但有人纷纷提出了质疑,认为没有"科学"(mi xin)依据

  8. Winform GDI+绘图二:绘制旋转太极图

    大家好,今天有时间给大家带来Winform自绘控件的第二部分,也是比较有意思的一个控件:旋转太极图. 大家可以停下思考一下,如果让你来绘制旋转的太极图,大家有什么样的思路呢?我今天跟大家展示一下,我平 ...

  9. css3制作旋转动画

    现在的css3真是强大,之前很多动画都是用jq来实现,但是css3制作的动画要比jq实现起来简单很多,今天呢,我自己也写了一个css旋转动画和大家分享.效果如下面的图片 思路:1.制作之前呢,我们先来 ...

随机推荐

  1. WP8:在Unity中使用OpenXLive

    Unity 4.2正式版开始添加了对Windows 8.Windows Phone 8等其他平台的支持,而且开发者可以免费使用Unity引擎来开发游戏了.而作为Windows Phone和Window ...

  2. Dynamic CRM 2013学习笔记(三十一)自定义用excel批量导入实体数据

    有一个实体的子表数据量太大,于是客户想用execel来导入实体数据.首先想到的是用系统自带的Import Data,客户嫌太麻烦,比如lookup字段要做map等. 下面是具体的实现步骤: 一.定义e ...

  3. beetle 2.7海量消息广播测试

    由于client资源限制,只进行了300物体互动广播测试:物体活动频率是每秒20次,服务器每秒转发的消息量大概180W条. 转发消息结构: class Po : IMessage { public i ...

  4. 团队项目 SRS文档

    一:实验内容:用例模型的建立 简介: 图书管理系统是使用计算机实现图书大量信息处理的电子档案管理系统,在本系统中主要满足借书者.图书管理员和系统管理员3方面的需求.对借书者来说主要是查询个人信息.查询 ...

  5. .Net下 自动执行MSI和EXE文件

    MSI是安装文件,需要系统自带的msiexec.exe来执行 var tempDir = @"D:\UploadFiles\SCADASetupWix.msi"; var star ...

  6. EDA系列学习

    发布这系列的EDA课程VHDL实验是因为有着和单片机系列同样的理由,另外,这个系列的文档只进行过波形图仿真,部分的程序可能不能在硬件上运行. 目录 实验二 8位加法器设计 实验三 组合逻辑电路的VHD ...

  7. Hash与Map

    Hash与Map 面试时经常被问到,什么是Hash?什么是Map? 答:hash采用hash表存储,map一般采用红黑树(RB Tree)实现.因此其memory数据结构是不一样的,而且他们的时间复杂 ...

  8. Spring - 基于注解的组件扫描

    关于Spring的书籍都会花很大篇幅来讲解Spring如何注入各种bean的问题,非常令人头疼,自己在工作中还从来没有用到过. 所以就要跳过那些篇章,直接学习基于注解的组件扫描. 发现spring2是 ...

  9. Atitit.常用的gc算法

    Atitit.常用的gc算法 1.1. 记-清除算法1 1.2. 复制算法1 1.3. 标记-整理算法2 1.4. 分代收集算法2 1.1. 记-清除算法 最基础的收集算法,算法分为标记和清除两个阶段 ...

  10. Atitit.java expression fsm 表达式分词fsm引擎

    Atitit.java expression fsm 表达式分词fsm引擎 C:\0workspace\AtiPlatf_cms\src\com\attilax\fsm\JavaExpFsm.java ...