这样写合法吗
来源:2-13 编程练习
派大兴兴
2021-11-06 16:40:16
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>2-3</title> <style type="text/css"> /* 此处写代码*/ .bg{ width:300px; height:200px; background:red; position:relative; perspective:300px; } .bg div{ float:left; color:yellow; font-size:18px; padding-left:10px; padding-top:10px; } .bg div:nth-child(1){ color:yellow; font-size:50px; } .bg div:nth-child(2){ transform:rotate(90deg) translate(-5px,-20px);; } .bg div:nth-child(3){ transform:rotate(45deg) translate(15px) ; } .bg div:nth-child(4){ transform:translate(-20px,40px); } .bg div:nth-child(5){ transform:rotate(90deg) translate(60px,60px); } </style> </head> <body> <!-- 此处写代码 --> <div class="bg"> <div>★</div> <div>★</div> <div>★</div> <div>★</div> <div>★</div> </div> </body> </html>
1回答
同学你好,这么写效果是对的,但是没有起到练习的作用,我们的练习是想让同学通过拼接标签来实现五角星的。
可参考如下实现:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>2-3</title>
<style type="text/css">
.flag {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 900px;
height: 600px;
margin: auto;
background: red;
}
/* 拼接五角星 */
.star {
position: absolute;
width: 0;
height: 0;
border-top: none;
border-right: 30px solid transparent;
border-bottom: 80px solid yellow;
border-left: 30px solid transparent;
}
.star:before {
position: absolute;
top: 65px;
left: -100px;
width: 0;
height: 0;
content: '';
transform: rotate(35deg);
border-top: none;
border-right: 100px solid transparent;
border-bottom: 70px solid yellow;
border-left: 100px solid transparent;
}
.star:after {
position: absolute;
top: 65px;
left: -100px;
width: 0;
height: 0;
content: '';
transform: rotate(-35deg);
border-top: none;
border-right: 100px solid transparent;
border-bottom: 70px solid yellow;
border-left: 100px solid transparent;
}
/* 以下就是通过,移动旋转缩放调整五角星的位置*/
.star0 {
transform: translate(120px, 55px) scale(.88);
}
.star1 {
transform: rotate(-50deg) translate(155px, 200px) scale(.3);
}
.star2 {
transform: rotate(-25deg) translate(265px, 195px) scale(.3);
}
.star3 {
transform: rotate(0deg) translate(330px, 150px) scale(.3);
}
.star4 {
transform: rotate(20deg) translate(330px, 105px) scale(.3);
}
</style>
</head>
<body>
<div class="flag">
<div class="star star0"></div>
<div class="star star1"></div>
<div class="star star2"></div>
<div class="star star3"></div>
<div class="star star4"></div>
</div>
</body>
</html>
祝学习愉快~
相似问题