纯css3实现饼图动画_html/css_WEB-ITnose
注: 本案例来自 CSS Screct
先看效果:
你可能需要掌握下列知识
- CSS3 Animation
- Pseudo Element
- 使用 linear-gradient 制作不渐变
- currentColor (非必须)
- 使用 border-radius ‘除’语法(非必须)
以上非必须标记,意味着如果你不追求代码质量,或使用预处理工具的话不了解也能实现。
HTML
实现起来并不复杂,这里只使用单个元素 + pseudo-element 就够了。
1 |
|
css
1 |
|
关键代码
渐变
1 |
|
linear-gradient 是css3中制作渐变色的属性;to right,表示渐变从左到右;后面的参数是渐变色列表。
渐变色列表从左到右逐个显示,颜色值后面的百分比或像素值表示渐变起始的阈值。
我的理解是这样的:如果前一个颜色阈值小于后一个颜色阈值,则这段阈值区域间产生渐变,而相反,如果前一个阈值大于后一个阈值,那么不会产生渐变,并且不相交区域显示临近颜色值的纯色。
所以本来中,pie 元素部分生成的效果是这样的:
个人认为, 使用 linear-gradient 略显繁琐并且IE9以下不支持(可能跟少用有关),我更倾向于使用伪元素来实现。
1 |
|
border-radius ‘除’语法
如果去掉 border-radius 以及修改颜色值,产生的效果是这样的:
动画
然后再加上两个动画,一个负责旋转 3s,一个负责更改背景色 6s,连起来变成这样:
CodePen
See the Pen YqEJVo by Helkyle ( @HelKyle ) on CodePen .
总结
刚开始学css 动画的时候,尝试过使用 css3 实现类似效果,但以失败告终,因为思维被限制死在如何实现’饼图’。所以有时候跳出固定思维模式,或许会有其他收获。
近期在看 CSS Screct 英文版,被书中很多技巧深深吸引住,没想到 CSS 还能这么灵活地使用。怪不得有大牛说:看完这本书,再也不敢说自己精通CSS。
对了,CSS魔法哥翻译了 这本书 ,准备上架,非常期待~(免费打广告…)

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

HTML is suitable for beginners because it is simple and easy to learn and can quickly see results. 1) The learning curve of HTML is smooth and easy to get started. 2) Just master the basic tags to start creating web pages. 3) High flexibility and can be used in combination with CSS and JavaScript. 4) Rich learning resources and modern tools support the learning process.

HTML defines the web structure, CSS is responsible for style and layout, and JavaScript gives dynamic interaction. The three perform their duties in web development and jointly build a colorful website.

AnexampleofastartingtaginHTMLis,whichbeginsaparagraph.StartingtagsareessentialinHTMLastheyinitiateelements,definetheirtypes,andarecrucialforstructuringwebpagesandconstructingtheDOM.

WebdevelopmentreliesonHTML,CSS,andJavaScript:1)HTMLstructurescontent,2)CSSstylesit,and3)JavaScriptaddsinteractivity,formingthebasisofmodernwebexperiences.

The Y-axis position adaptive algorithm for web annotation function This article will explore how to implement annotation functions similar to Word documents, especially how to deal with the interval between annotations...

GiteePages static website deployment failed: 404 error troubleshooting and resolution when using Gitee...

To achieve the effect of scattering and enlarging the surrounding images after clicking on the image, many web designs need to achieve an interactive effect: click on a certain image to make the surrounding...

HTML, CSS and JavaScript are the three pillars of web development. 1. HTML defines the web page structure and uses tags such as, etc. 2. CSS controls the web page style, using selectors and attributes such as color, font-size, etc. 3. JavaScript realizes dynamic effects and interaction, through event monitoring and DOM operations.
