求老师指点!

来源:2-13 编程练习

我不是胖球球

2021-04-24 16:50:06

老师好!用5个三角形画出来应该五角星之后,其他四个小星星应该怎么实现?好像也可以用三个三角形来实现五角星?大星星缩小之后原本的大星星也会变小到新的位置上,求老师指点!

相关代码:

<!DOCTYPE HTML>
<html>

<head>
<meta charset="utf-8">
<title>2-3</title>
<style type="text/css">
/* 此处写代码*/
* {
padding-top: 0;
margin: 0;
}

.bd {
width: 300px;
height: 200px;
background-color: red;
margin: 30px auto;
}

.bd .bd1 .box1 {
width: 0;
height: 0;
border: 15px solid transparent;
border-bottom: 40px solid yellow;
margin-left: 30px;
}

.bd .bd1 .box2 {
width: 0;
height: 0;
border: 15px solid transparent;
border-bottom: 40px solid yellow;
margin-left: 30px;
transform-origin: 56px 26px;
transform: rotate(67deg);
}

.bd .bd1 .box3 {
width: 0;
height: 0;
border: 15px solid transparent;
border-bottom: 40px solid yellow;
margin-left: 30px;
transform-origin: 32px -2px;
transform: rotate(146deg);
}

.bd .bd1 .box4 {
width: 0;
height: 0;
border: 15px solid transparent;
border-bottom: 40px solid yellow;
margin-left: 30px;
transform-origin: -106px -29px;
transform: rotate(-69deg);
}

.bd .bd1 .box5 {
width: 0;
height: 0;
border: 15px solid transparent;
border-bottom: 40px solid yellow;
margin-left: 30px;
transform-origin: -18px -57px;
transform: rotate(-146deg);
}

.bd .bd2 {
transform: rotate(45deg);
}
</style>
</head>

<body>
<!-- 此处写代码 -->
<div class="bd">
<div class="bd1">
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
<div class="box4"></div>
<div class="box5"></div>
</div>
<div class="bd2"></div>
<div class="bd3"></div>
<div class="bd4"></div>
<div class="bd5"></div>
</div>
</body>

</html>


写回答

1回答

好帮手慕久久

2021-04-24

同学你好,解答如下:

1、其余几个小星星,需要复用大星星的样式,然后再调整位置。以第二个小星星为例,可如下实现:

a)先复制出结构:

http://img.mukewang.com/climg/6083e462095723a306300444.jpg

b)如果想复用样式,那么需要将大星星的类名更改一下,如下:

http://img.mukewang.com/climg/6083e4ae098b1d6005580274.jpg

http://img.mukewang.com/climg/6083e5090926138305840539.jpg

然后给小星星添加.bd-common,这样.bd2就会变成星星:

http://img.mukewang.com/climg/6083e55c09cfe6d806240237.jpg

c)利用transform调整小星星的位置:

http://img.mukewang.com/climg/6083e5db09d6f86f08880157.jpg

其余几颗星星同理。

样式中,有大量相同代码:

http://img.mukewang.com/climg/6083e63009c8b45e07390574.jpg

建议复用,从而简化代码,如下:

http://img.mukewang.com/climg/6083e72c09738b5607911447.jpg

http://img.mukewang.com/climg/6083e74809f9c6b007780554.jpg

2、三个三角形也能实现五角星:

http://img.mukewang.com/climg/6083e860099c062c05600567.jpg

http://img.mukewang.com/climg/6083e880094ec23005880538.jpg

http://img.mukewang.com/climg/6083e8a5098cc15206550594.jpg

建议同学先把自己的效果实现出来,然后再看下问题区其他同学用三个三角形怎么实现。如果不会,再新建问题提问,老师再为你解答。

祝学习愉快!



0

0 学习 · 15276 问题

查看课程