<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=《, initial-scale=1.0"> <title>Document</title> <style> nav{ position: relative; } ul{ position: absolute; top: 20px; left: 0px; } ul::before{ position: absolute; } </style> </head> <body> <nav> <strong>控制台</span> <ul> <li></li> <li></li> <li></li> <li></li> </ul> </nav> </body> </html>
大概就是这样的代码,我想让ul::before是根据ul定位,而不是nav
什么意思?描述不清楚
我想ul::before是根据ul定位,但因为Nav设置了position: relative;所以现在效果我看到ul::before是根据Nav定位
可是我把ul的position改为relative,原本ul要定位到的Nav的就没效果了,不知道如何才能实现我想要的效果
@你猜丶: 我意思是你描述的应该是:我想strong跟着ul固定到一起,跟nav脱离关系。。类似这样的,你说这么多,看的人还是没明白你想实现什么样的功能。。。
@顾晓北: 不是你想的那样,一个元素相对于别的元素定位,已经给它设置了position: absolute;,然后我又想让它的::before是相对于它自己定位,但是一个元素是不可能给它设置了position: absolute;情况下又给他设置position: relative;,没有设置position: relative;它的::before就找到上一级position: relative;去了,而我想让他相对自己。
啊,我刚刚突然想到用transform控制::before的移动效果,成功了
第一ul添加宽高,第二before添加content
ul{
- position: absolute;
+ position: relative;
top: 20px;
left: 0px;
}
ul::before{
position: absolute;
}
啊,ul不可以设置两个position吧
@你猜丶: 这是 diff 代码块,表示把第一行删除