使用CSS3生成一个会旋转的太极八卦图

学习了CSS3 后,可以做出很多炫酷的效果,但是基本功需要打扎实,就从学习使用纯CSS技术生成太极八卦图学起。

  第一步,先使用HTML进行一下简单的布局,如下,只需要一个DIV即可:    

<body>
    <div></div>
</body>

  第二步,插入了DIV之后, 就需要为其添加样式,以及设置其为圆形,我们宽要设置的是高的2倍,这样在为底边框添加了宽度后,保证DIV出来后是圆形,如下:

div { width:500px; height:250px; border:3px solid #000;  background:#fff;border-radius: 50%; margin:100px auto; border-width:5px 5px 250px; transition:2s;}

      插入了第二步的样式有,会得到如下的图形:

        

  第三步,在得到第二步的图形后,我们使用:before和:after伪类,为DIV添加伪类,

      添加div:before伪类,要想显示出before伪类,必须添加content属性,其值可以为空,我们设置其显示为块元素,然后设置宽高各为20px,50%的圆角,边框的宽度为div的宽度减去before伪类的宽度之后除以2,然后添加translateY属性,使其移动到特定位置,

div:before { width:20px; height:20px; border-width:115px; border-style:solid; border-color:#000;border-radius: 50%; background: #fff; display:block; content:""; -webkit-transform:translateY(50%); }

      添加了before后,得到如下的图形:

          

    添加div:after伪类,要想显示出after伪类,必须添加content属性,其值可以为空,我们设置其显示为块元素,然后设置宽高各为20px,50%的圆角,边框的宽度为div的宽度减去after伪类的宽度之后除以2,然后添加translateY和translateX属性,使其移动到特定位置,

div:after { width:20px; height:20px; border-width:115px; border-style:solid; border-color:#fff;border-radius: 50%; background: #000; display:block; content:""; -webkit-transform:translateX(100%) translateY(-50%); }

    添加了after后,得到如下的图形:

                    

  第四步:最后,我们在div上添加一个hover动作,就可以实现八卦图的自由旋转了

    

div:hover { -webkit-transform:rotate(360deg); }

最后汇总的代码如下,可以直接拷贝到自己的编辑器中,直接运行,就可以看到一个会旋转的太极八卦图了。

  

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        div { width:500px; height:250px; border:3px solid #000;  background:#fff;border-radius: 50%; margin:100px auto; border-width:5px 5px 250px; transition:2s;}
        div:before { width:20px; height:20px; border-width:115px; border-style:solid; border-color:#000;border-radius: 50%; background: #fff; display:block; content:""; -webkit-transform:translateY(50%); }
        div:after { width:20px; height:20px; border-width:115px; border-style:solid; border-color:#fff;border-radius: 50%; background: #000; display:block; content:""; -webkit-transform:translateX(100%) translateY(-50%); }
        div:hover { -webkit-transform:rotate(360deg); }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

      

  

    

时间: 2024-12-17 14:34:04

使用CSS3生成一个会旋转的太极八卦图的相关文章

Tweetable Mathematical Art 太极八卦图

从Matrix67 blog里面看到了Tweetable Mathematical Art. 使用C++实现3个函数RD(i, j), GR(i, j), BL(i, j)分别返回像素(i, j)的R/G/B值,最终生成1幅1024*1024的图片.要求是每个函数代码不超过140字符,即Tweetable. 来个太极八卦图,娱乐一下. unsigned char RD(int i,int j){ // YOUR CODE HERE #define LEFT (i < DIM/2) #define

使用纯CSS3实现一个3D旋转的书本

有一些前沿的电商网站已经开始使用3D模型来展示商品并支持在线定制,而其中图书的展示是最为简单的一种, 无需复杂的建模过程,使用图片和CSS3的一些变换即可实现更好的展示效果,简洁而实用. 书本的3D模型是所有商品中最为简单的,因为其本质上就是一个立方体(cube),只是带有封面/封底和左侧封条. 所以要构造一个3D书本展示,问题就被分解为构造一个立方体+旋转+图片背景. 1. 构造一个立方体 要创建一个立方体,首先我们需要创建一个虚拟的三维视觉空间,这可以通过设置包容器元素的perspectiv

算法生成太极八卦图

前面一篇文章是通过算法生成一幅太极图,有道是:无极生太极,太极生两仪,两仪生四象,四象生八卦.那么这一节就为太极生成一个八卦图.虽然我对易经这种玄之又玄的哲学没什么研究,但至少八卦可以看做是二进制的鼻祖.愿太极八卦保佑我们的程序绝无BUG,永不修改. 根据二进制数的规定:有,用1表示;无,用0表示.我们可以得出八卦各卦阳爻和阴爻的二进制数.下面我们写出八卦各卦阳爻的二进制数(即有阳爻为1,无阳爻为0): 坤:黑黑黑,卦符阴阴阴,二进制数为000 艮:黑黑白,卦符阴阴阳,二进制数为001 坎:黑白

太极八卦图

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <canvas id="canvas" width="800px" height="800px"></canvas> <script ty

旋转太极八卦

太极八卦图,以同圆内的圆心为界,画出相等的两个阴阳鱼表示万物相互关系.阴鱼用黑色,阳鱼用白色,这是白天与黑夜的表示法.阳鱼的头部有个阴眼,阴鱼的头部有个阳眼,表示万物都在相互转化,互相渗透,阴中有阳,阳中有阴,阴阳相合,相生相克,即现代哲学中和矛盾对立统一规律表示法. 哈哈,装了个逼.其实我就是想教大家用css3画出旋转太极八卦.仅此而已. 实现效果如下图: Html的代码很简单,就一行代码,如下图: 下面对div.tl标签进行一系列属性设置,变化如下图: ............ ......

CSS3绘制旋转的太极图案

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> bo

利用 CSS3 构建一个气泡对话框

这是一篇CSS3教程 http://www.maiziedu.com/course/228/,主要讲述在不使用图片的情况下如何使用CSS3 创建图像效果. 使用渐进增强的开发方式,因此一开始的界面只要拥有基本样式即可.基本的评论区界面样式如下: 现在我们来逐步完善这个博客的评论区域. word-wrap 当用户在评论区留下一长串的 URL 时,有可能会出现以下情况. 此时需要使用 word-wrap,使用 word-wrap 的原因是基于 Webkit 内核的浏览器以及 IE 在遇到"/&quo

简单说 用CSS做一个魔方旋转的效果

说明 魔方大家应该是不会陌生的,这次我们来一起用CSS实现一个魔方旋转的特效,先来看看效果图! 解释 我们要做这样的效果,重点在于怎么把6张图片,摆放成魔方的样子,而把它们摆放成魔方的样子,重点在于用好CSS的transform,这是非常重要的,好的,我们先拼出一个魔方的样子. 效果图 代码(代码比较长,朋友们可以直接粘贴复制到电脑看效果) <!DOCTYPE html> <html> <head> <meta charset="utf-8"

使用CSS3 制作一个material-design 风格登录界面

使用CSS3 制作一个material-design 风格登录界面 心血来潮,想学学 material design 的设计风格,就尝试完成了一个登录页面制作. 这是整体效果. 感觉还不错吧,结尾会附上代码 在编写的过程中,没有使用任何图片或者字体图标,全部使用css3完成,还是遇到一些难点和bug,所以想笔记下来,以后方便查阅. 响应式设计 在这个页面中,使用下面3点来完成响应式设计 最大宽度 .设定了一个 max-width 的最大宽度,以便在大屏幕时兼容. margin : 20px au