老师您好,我想请教下伪类元素的定位问题
1 2 3 4 5 6 7 8 9 10 11 | < 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 > |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | .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积分~
来为老师/同学的回答评分吧