情人节到了,给大家来一朵高端的玫瑰花。

在网上看到的一个canvas实现的玫瑰花,效果很好,但是代码被压缩过,也没有注释,看的云里雾里的。

今天我教大脚用CSS来实现一朵玫瑰花。

先看效果

首先我们画出一个花瓣

1、画出一个长方形div,背景色设置成渐变色。

2、给四个角使用圆角,底部50%,顶部35%

然后使用css的3D属性

3D属性的详细请自行百度,这里不做详细介绍。

从Y轴方向上俯视玫瑰花,就是多个花瓣围绕圆心组成的同心圆。

如下图所示:

我们按照这个规则

1、越靠近中心层,花瓣数量越少

2、所有花瓣按在每层花瓣个数,均匀分布

这样就成为了含苞待放的玫瑰

要想让玫瑰花开发,那么每朵花瓣就不应该跟Y轴平行

必须要从跟Y轴形成向外的角度。

而且越向外层,角度越大。

这个时候就基本上完成了玫瑰花的效果了。

但是在chrome上,后边加入的div会盖在上边层上,并不一定是我们希望的效果。

所以我们要根据div的Z轴方向上的值来给div增加z-index属性。

z值越小,z-index越小。

最后我们跟玫瑰花加上叶子,跟之前花瓣原理是一样的,只是换了颜色和宽度而已。

而且向外开的角度也增大了一些

这里就已经完成了,我们把代码复制一份,然后使用requestAnimationFrame做动画效果。角度越来越大。就出现开花效果了。

演示效果请访问:http://suohb.com/work/flower2.htm

更多特效,请扫描下方二维码关注公众号:

标签: css3, html5, 玫瑰花

情人节,教大家使用CSS画出一朵玫瑰花。相关推荐

  1. 樱花的季节,教大家用canvas画出飞舞的樱花树

    又到了樱花的季节,教大家使用canvas画出飞舞的樱花树效果. 废话少说,先看效果. 演示效果地址:http://suohb.com/work/tree4.htm 查看演示效果 第一步,我们先画出一棵 ...

  2. 用html制作一朵花,SVG画图功能:svg实现画出一朵花(附代码)

    本篇文章给大家带来的内容是关于SVG画图功能:svg实现画出一朵花(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 标记和 SVG 以及 VML 之间的一个重要的不同是, 有 ...

  3. [css] 用CSS画出一个任意角度的扇形,可以写多种实现的方法

    [css] 用CSS画出一个任意角度的扇形,可以写多种实现的方法 先画一个圆,外加两个绝对定位的半圆 扇形可以通过两个半圆作为遮罩旋转来露出相应的角度实现 这只能切出180°以内的扇形 超过180°的 ...

  4. [css] 使用css画出一个五角星

    [css] 使用css画出一个五角星 #star-five {margin: 50px 0;position: absolute;display: block;color: red;width: 0; ...

  5. [css] 用css画出一个圆圈,里面有个对号

    [css] 用css画出一个圆圈,里面有个对号 #right {width: 150px;height: 150px;margin: 100px auto;border-radius: 50%;bor ...

  6. 用css画出一个圆圈,里面有个叉号(不能用英文字母x)

    用css画出一个圆圈,里面有个叉号(不能用英文字母x) #cyc {width: 150px;height: 150px;margin: 100px auto;border-radius: 50%;b ...

  7. [css] 用css画出一把刻度尺

    [css] 用css画出一把刻度尺 <div class='ruler'><div class='cm'><div class='mm'></div>& ...

  8. 用HTML+CSS画出一个同心圆

    参加web前端校招的同学们经常会遇到这样的面试题:用HTML+CSS画出一个同心圆. 例如: 这道题主要考验的是基础盒模型布局能力和倒圆角属性的巧用. 1.html代码 [html] view pla ...

  9. 用python turtle画龙猫_【跟着弹簧学画画】教你一步步画出一只超萌的龙猫来!...

    原标题:[跟着弹簧学画画]教你一步步画出一只超萌的龙猫来! 龙猫,日文音译过来是豆豆龙,今天咱们就来画一个吧! 照旧先来感受下动态图↓ 1.先画耳朵,然后画出头部和身体,因为龙猫是圆滚滚的一只 画出胳 ...

最新文章

  1. 一文帮你梳理清楚:奇异值分解和矩阵分解 | 技术头条
  2. 如何轻松在线观看CNCC丨重启线上门票
  3. 空气培养皿采样后保存_环境监测基础知识——环境空气监测技术之布点采样
  4. 多元价值呼唤教育性父母
  5. 射频系统基础知识总结
  6. Python __slots__限制动态添加变量
  7. hdu 2215(最小圆覆盖)
  8. Linux安全移除U盘,Windows 10用户可以快速移除U盘
  9. STL-红黑树源码实现
  10. 后端:MyBatis缓存知识介绍
  11. 【深度学习】你不了解的细节问题(三)
  12. cocos2d0基础篇笔记二
  13. flash cs4 如何新增自定义控件
  14. 截图工具FastStone Capture
  15. 多大计算机科学世界排名,重磅!2021年QS世界大学学科排名发布!多大、UBC抢眼!这些专业最强!...
  16. C语言删除数组中的重复元素(详细分析版)
  17. 陈睿:B站用户用创作展示传统文化之美
  18. 吊打大厂:内核级安卓系统优化软件 | 雪豹速清app官网下载
  19. 测试用例之因果图/判定表
  20. 手把手教你搭建深度学习环境

热门文章

  1. iPhone4 iOS 5.1.1 越狱之后必装的插件
  2. linux 打开终端自动运行脚本.barshrc
  3. gawk 命令(转载:http://blog.sina.com.cn/s/blog_6238358c01012h1f.html)
  4. 关于localhost访问特别快而nginx配置代理后转发特别慢的解决
  5. js创建一个电脑对象,该对象要有颜色、重量、品牌、型号,可以看电影、听音乐、打游戏和敲代码。
  6. 【渝粤题库】国家开放大学2021春1040公司概论题目
  7. 机器学习与深度学习:微积分知识汇总
  8. FFmpeg获取网络摄像头数据解码
  9. android开机动画bootanimation 分析
  10. 2015.05.11,外语,读书笔记-《Word Power Made Easy》 15 “如何谈论事情进展” SESSION 44...