感觉应该是这样

感觉应该是这样

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>五星红旗</title>

<style type="text/css">

/*用三个三角形旋转画五角星*/

.flag{

width: 300px;

height: 200px;

background-color: #f00;

}

.star{

position: relative;

width: 0;

height: 0;

border-right: 100px solid transparent;

border-bottom: 70px solid #ff0;

border-left: 100px solid transparent;

transform: scale(.3,.3) rotate(35deg);


.star:nth-child(1){

left:-50px;

top: 20px;

}

.star:nth-child(2){

transform: scale(.1,.1) rotate(-5deg);

left: 15px;

top: -82px;

}

.star:nth-child(3){

transform: scale(.1,.1) rotate(13deg);

left: 37px;

top: -132px;

}

.star:nth-child(4){

transform: scale(.1,.1) rotate(37deg);

left: 37px;

top: -172px;

}

.star:nth-child(5){

transform: scale(.1,.1) rotate(58deg);

left: 15px;

top: -218px;

}

.star:before{

content:'';

display: block;

position: absolute;

width: 0;

height: 0;

border-right: 100px solid transparent;

border-bottom: 70px solid #ff0;

border-left: 100px solid transparent;

left: -100px;

top: 0;

transform:rotate(-70deg);

}

.star:after{

content:'';

display: block;

position: absolute;

width: 0;

height: 0;

border-right: 100px solid transparent;

border-bottom: 70px solid #ff0;

border-left: 100px solid transparent;

left: -100px;

top: 6px;

transform:rotate(-145deg);

}

</style>

</head>

<body>

<div class="flag">

<div class="star"></div>

<div class="star"></div>

<div class="star"></div>

<div class="star"></div>

<div class="star"></div>

</div>

</body>

</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕糖 2017-10-15 17:55:13

你好,

css3制作五角星主要需要一下几个属性:

transform:属性向元素应用2D或3D转换,对元素进行旋转、缩放、移动或倾斜,这里主要是用到旋转。

rotate:角度,可以定义2D旋转、3D旋转,这里只用到2D旋转。

before:伪类选择器,在..之前。

after:伪类选择器,在..之后

实现原理:

其实制作这个五角星很简单的,就是做出三个三角图形然后通过旋转角度最后通过定位把它们组合在一起就成了五角星了。

效果图:

http://img1.sycdn.imooc.com/climg/59e3307a0001c8bf01820156.jpg

祝学习愉快~


回忆的 2017-10-14 10:10:21

好厉害啊,能不能把大概的实现思路说一下哈

  • 提问者 dievu #1
    先画三角形。用border属性去实现,具体可以百度一下,找一下网上的资料。我也是网上找,然后学着画的。三角形画好了以后就是一系列的平移 旋转啊这些,在浏览器里慢慢微调。。还有就是灵活使用before after伪元素就是了。。
    2017-12-13 09:52:54
怎么都被占用了呢 2017-09-19 11:16:25

可以,完成的很好呢,继续加油吧!!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
响应式开发与常用框架 2018
  • 参与学习           人
  • 提交作业       2198    份
  • 解答问题       5012    个

如果你有web端基础,既想进阶,又想进军移动端开发,那就来吧,我们专题为你带来的课程有HTML5、CSS3、移动基础、响应式、bootstrap、less等,让你在前端道路上畅通无阻!

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师