虽然存在选择器以选择其他项目之前(#hlinks+#hsearch
)或拥有(#topbar>#hlinks
)的项目,但无法执行相反的操作。
例如,不存在类似
的内容li:has(ul){ }
检测其中包含其他列表的列表项。那不方便吗?
AFAIK,这个功能甚至不在CSS的计划中,所以我的问题是:为什么会这样?
答案 0 :(得分:4)
这通常被称为“父选择器”;正如你所说,它们在CSS中不存在,尽管它们可能很有用。
有一个interesting discussion here;总结是,它们会对性能产生很大的负面影响,并且会让人们犯下大错误的后果。理解这些事情的人似乎认为可以克服这些问题,但是还没有足够的需求让某人真正去做。
答案 1 :(得分:3)
您指的是“父”选择器的概念 - 在特定条件下选择父元素。你对CSS中没有的这个特性是正确的(不是事件CSS3) - 据我所知,目前不可能通过CSS解析DOM的方式。但是,使用jQuery和:parent
选择器或:has
选择器可以使用此功能,您可能已经熟悉它了。
编辑:有关父选择器概念的大量详细信息,请参阅http://shauninman.com/archive/2008/05/05/css_qualified_selectors。
答案 2 :(得分:-4)
这是CSS中的标准,因为......呃.... CSS的开头。
这只是一个空间:
li ul
表示any ul that is inside li
答案 3 :(得分:-4)
如果您想这样做,请执行以下操作:
ul li ul li {
}
现在,您正在搜索任何列表项,其中包含列表项的无序列表。