这里我通过两张不同位置的卡片来实现效果
- 代码
html
<!DOCTYPE html>
<html>
<head>
<style>
/*设置画布*/
body{
/* 方便排列与对齐*/
display: flex;
/*画布布满整个窗口*/
height: 100vh;
/*水平居中*/
justify-content: center;
/*垂直居中*/
align-items: center;
/* 设置比较暗的背景色*/
background-color: rgba(47,48,49,0.9);
}
/*设置活动区域*/
.container{
display: flex;
justify-content: center;
align-items: center;
/*给子元素提供相对描点*/
position: relative;
width: 500px;
height: 500px;
}
.card{
/*表示该元素会以相对锚点改变位置*/
position: absolute;
width: 150px;
height: 200px;
display: flex;
justify-content: center;
align-items: center;
font-size: 30px;
font-weight: bold;
background-color: #00ff44;
/*设置阴影,切记参数之间不要有逗号*/
box-shadow: 0px 8px 8px rgba(0,0,0,0.8);
}
.card1{
left: 0;
top:0;
}
.card2{
left:300;
top:100p;
}
</style>
</head>
<body>
<div class="container">
<div class="card card1">Card1</div>
<div class="card card2 ">Card2</div>
</div>
</body>
</html>
- 效果:
显然这里我们让卡片元素具有了两个类card
和card1
,我们把相对锚点的位置信息放到card1
中,这样我们相当于把两个类合成一个类在用,不过可以复用的类我们就摘出去用,需要对每个卡片设置的部分就放到对应的类里。这样给我们的开发带来了极大的便利。