Html css4中是否有父选择器?

Html css4中是否有父选择器?,html,css,css-selectors,Html,Css,Css Selectors,这里是,我有两个div一个是outer box,另一个是innerBox,单击innerBox我需要更改outerbox的属性 就css3而言,这是不可能的,所以css4中是否有任何可用的内容?正如另一个答案所指出的,没有“css4”;有 在我看来,最好忘记CSS父选择器,因为它会带来许多新问题: 使用父选择器,很容易意外导致 一个文件大小的树丛。人们可以也将滥用此选择器。 支持它给了人们很多自缢的绳索 与 及 我所描述的并不是技术上不可能的。事实上,这是完全正确的 相反。这只意味着我们必须处理

这里是,我有两个div一个是outer box,另一个是
innerBox
,单击
innerBox
我需要更改outer
box
的属性


就css3而言,这是不可能的,所以css4中是否有任何可用的内容?

正如另一个答案所指出的,没有“css4”;有

在我看来,最好忘记CSS父选择器,因为它会带来许多新问题:

使用父选择器,很容易意外导致 一个文件大小的树丛。人们可以也将滥用此选择器。 支持它给了人们很多自缢的绳索 与

我所描述的并不是技术上不可能的。事实上,这是完全正确的 相反。这只意味着我们必须处理好表演 使用此功能的含义

但是,您可以轻松地使用JS,甚至使用jQuery。它只需调用
$('a').parent()即可获取


CSS选择器级别4最初打算实现此功能,但目前计划仅在DOM for JavaScript中实现,而不是作为CSS选择器实现,因为它“速度慢”。

可能没有CSS4这样的东西,但有“选择器级别4”这样的东西。这是下一代选择器的未完成规范,规范中包含父选择器。更准确地说,是“主题”选择器

规范文件如下:

但是请注意,它是一个devURL,规范仍在进行中

在实际代码中,主题选择器可能如下所示:

div > !.foo > span
这将选择一个类为
foo
的元素,该元素是
div
的子元素,并且在该元素中有一个
span
作为子元素

然而,正如我所说的,这并不是一个完整的规范(事实上,主题选择器的语法在这个过程中已经改变了不止一次,并且可能在任何时候都会发生进一步的变化)。它还没有在任何浏览器中实现,而且也不希望很快实现

此外,即使在浏览器中实现了第4级选择器,规范也明确指出,出于性能原因,某些选择器可能会被排除在实现之外(它们区分“快速”选择器和“完整”选择器集)。主题选择器就是其中之一:如果规范保持原样,那么浏览器就不会被迫将其添加到CSS中。在这种情况下,他们可能会将其添加到Javascript中,例如用于
document.querySelector()
等方法,但不会添加到CSS本身。这对您没有任何帮助,因为通过javascript已经可以找到父元素了。(有关详细信息,请参见上文链接的规范中的第2.1节)

所以简单的回答是:不,这是不可能的。这在将来是可能的,但现在对你没有帮助,甚至在将来也可能有停止表演的警告


(您可能还想阅读比实际规范更为最终用户友好的文档。但您会注意到,主题选择器语法自本文撰写以来已经发生了变化)

您真正想问的是,将来是否有浏览器支持允许您这样做的任何东西。如果没有水晶球,任何人怎么会知道呢?可能的复制品可以通过使用来实现您想要的。请注意,上面描述的“主题”选择器的规格自编写此答案以来已经更改了好几次,因此上面的代码不再像您使用它时所编写的那样。然而,关于它仅在JavaScript中可用的观点仍在规范中,因此答案的核心点仍然是准确的。