请马上登录,朋友们都在花潮里等着你哦:)
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 山人 于 2022-11-30 10:17 编辑
马老师用单元素制作过三叶草,很给力。单元素画五叶草就力不从心了,这需要多元素。设想是这样:一个包裹叶片的母元素+五个子元素,母元素将子元素包裹起来,其高宽是子元素高宽的两倍(子元素高宽一致)。
母元素CSS代码,很简单,不解释:
#mama { margin: 50px auto 0; position: relative; width: 200px; height: 200px; }
子元素首先需要一个通用属性设置,CSS代码如下:
.petal { position: absolute; width: 100px; height: 100px; background: darkgreen; transform-origin: 100% 100%; border-radius: 0% 100%; box-shadow: 2px 2px 20px #000; }
需要理解的是转换基点transform-origin,根据border-radius的设定,应设置在右下角。
然后每一个叶片,旋转不同的角度,五个叶片,平均每一个叶片占 360/5=72(度),需要给它们一一设置:
.p1 { transform: rotate(0deg); } .p2 { transform: rotate(70deg); } .p3 { transform: rotate(140deg); } .p4 { transform: rotate(210deg); } .p5 { transform: rotate(280deg); }
最后是HTML代码:
<div id="mama"> <span class="petal p1"></span> <span class="petal p2"></span> <span class="petal p3"></span> <span class="petal p4"></span> <span class="petal p5"></span> </div>
看看效果:
|