老师您好,我想请教下伪类元素的定位问题
<body> <div class="sky"> <div class="cloud one"></div> <div class="cloud two"></div> <div class="cloud three"></div> <div class="cloud four"></div> <div class="cloud five"></div> </div> <div class="grass"></div> <div class="rabbit"></div> </body>
.cloud{
width: 100px;
height: 100px;
background: #fff;
position: relative;
left: 100px;
border-radius: 50%;
}
.cloud::before{
content: '';
position: absolute;
left: -80px;
bottom: 5px;
width: 190px;
height: 50px;
background: #fff;
border-radius: 25px 25px 30px 30px/ 25px 25px 25px 25px;
}如上代码所示的结构,伪类元素.cloud:after是以.cloud为基准定位,那么我还想要给.cloud添加整体的定位该怎么办呢?
1
收起
正在回答
2回答
同学你好,1、可以的哦,可以直接将cloud的相对定位改为绝对定位。这样伪类依然可以参考其定位。不会失效。
2、如下,在结构上,伪类相当于cloud的子元素,而子元素定位可以参考有(除静态定位以外的)定位的父级元素,所以这里cloud是相对定位或者绝对定位都是可以的哦。

3、因为cloud有5个元素,设置绝对定位之后,需要单独设置每一个的位置,不然就是叠在一起的哦。例:

希望能帮助到你,祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星