为啥我把通过伪元素添加的两个三角形旋转72度时,五角星的顶角无法完全重合,调成72.5度时看起来是重合的

来源:2-13 编程练习

慕姐5289795

2021-05-09 10:57:28

老师,帮我检查下有没有哪里有问题

问题描述:

还想问下为啥我把通过伪元素添加的两个三角形旋转72度时,五角星的顶角无法完全重合,调成72.5度时看起来是重合的?

http://img.mukewang.com/climg/60974f840994825106360418.jpg

相关代码:

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>星星和国旗</title>
<style>
.box {
width: 600px;
height: 400px;
margin: 0 auto;
background-color: red;
}

.box .star {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-top: 30px solid yellow;
position: relative;
}

.box .star::before {
content: '';
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-top: 30px solid yellow;
position: absolute;
top: -30px;
left: -50px;
transform: rotate(-72.5deg);
}

.box .star::after {
content: '';
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-top: 30px solid yellow;
position: absolute;
top: -30px;
left: -50px;
transform: rotate(72.5deg);
}

.box .star.big {
transform: translate(45px, 90px);
}

.box .star.little1 {
transform: scale(0.4) translate(340px, -10px) rotate(30deg);
}

.box .star.little2 {
transform: scale(0.4) translate(450px, 25px) rotate(45deg);
}

.box .star.little3 {
transform: scale(0.4) translate(450px, 95px) rotate(5deg);
}

.box .star.little4 {
transform: scale(0.4) translate(340px, 115px) rotate(40deg);
}

</style>
</head>

<body>
<div class="box">
<div class="star big"></div>
<div class="star little1"></div>
<div class="star little2"></div>
<div class="star little3"></div>
<div class="star little4"></div>
</div>
</body>

</html>


写回答

1回答

好帮手慕然然

2021-05-09

同学你好,当老师把网页放大时,通过伪元素添加的两个三角形旋转72.5度时也没有重合,如图

http://img.mukewang.com/climg/60975b870967f26815300632.jpg

建议将旋转度数再调整一下,可以参考如下代码:

http://img.mukewang.com/climg/60975bba097faa0606540661.jpg

关于旋转角度的问题:

根据正五角星的数学特性,正五角星可以由特殊角度的三角形绕五角星外接圆圆心经过旋转72°与-72°而实现。满足正五角星的特征的特殊三角形角度依次为36°、36°、108°。

在使用css技术绘制三角形时,由于三角形内角的角度不是特别精确,所以导致旋转角度会有一些误差存在,上下调整到合适的旋转角度就可以了。

祝学习愉快!

0

0 学习 · 15276 问题

查看课程