老师您好,麻烦看看这两种方式有没有优化的地方,以及题目里提到的两个元素重叠在一起是什么方法呢?没有这个思路
来源:2-28 项目作业
困惑小张
2022-06-02 16:53:19
方法一:用边框实现
<!DOCTYPE html>
<html>
<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>Document</title>
<style>
.father{
margin: 0;
padding: 0;
width: 500px;
height: 180px;
overflow: hidden;
position: relative;
}
.box1,.box2,.box3,.box4,.box5{
margin:0 auto;
padding:0;
border-radius: 50%;
position: absolute;
}
.box1{
width: 300px;
height: 300px;
border: 20px solid orange;
left: 80px;
top: 80px;
}
.box2{
width: 340px;
height: 340px;
border: 20px solid yellow;
left: 60px;
top: 60px;
}
.box3{
width: 380px;
height: 380px;
border: 20px solid green;
left: 40px;
top: 40px;
}
.box4{
width: 420px;
height: 420px;
border: 20px solid blue;
left: 20px;
top: 20px;
}
.box5{
width: 460px;
height: 460px;
border: 20px solid purple;
}
</style>
</head>
<body>
<div class="father">
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
<div class="box4"></div>
<div class="box5"></div>
</div>
</body>
</html>
方法二:用径向渐变实现
<!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>Document</title>
<style>
div{
margin: 0;
padding: 0;
width: 500px;
height: 230px;
overflow: hidden;
}
p{
border-radius: 50%;
width: 500px;
height: 500px;
background-image: radial-gradient(50% 50%,white 0 50%,orange 50% 60%,yellow 60% 70%,green 70% 80%,blue 80% 90%,purple 90%);
}
</style>
</head>
<body>
<div>
<p></p>
</div>
</body>
</html>
1回答
好帮手慕慕子
2022-06-02
同学你好,对于你的问题解答如下:
1、两种方式效果实现都是对的,代码也很简洁,不用再优化了。
2、题目中提到的元素重叠在一起,就是同学粘贴的代码中的第一种方式,元素绝对定位后堆叠在一起,结合边框实现效果。
祝学习愉快~
相似问题