老师您好,我想请教下伪类元素的定位问题
<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 星