Html 基于类选择子体
元素类型子体选择工作:Html 基于类选择子体,html,css,Html,Css,元素类型子体选择工作: form * div {...} 但我发现使用类并不能: .my-class1 * .my-class2 {...} 也就是说,我希望“类后代”选择表可以选择一些元素,但没有一个是这样 在我的页面中,我有两个由第三方代码生成的非常相似的DOM子结构,它们需要不同的样式,我不希望我的CSS依赖于第三方DOM结构 设置DOM这两部分样式的最佳方法是什么?您可以使用.my-class1>.my-class2来指导后代 或者,您可以使用.my-class1.my-class2
form * div {...}
但我发现使用类并不能:
.my-class1 * .my-class2 {...}
也就是说,我希望“类后代”选择表可以选择一些元素,但没有一个是这样
在我的页面中,我有两个由第三方代码生成的非常相似的DOM子结构,它们需要不同的样式,我不希望我的CSS依赖于第三方DOM结构
设置DOM这两部分样式的最佳方法是什么?您可以使用
.my-class1>.my-class2
来指导后代
或者,您可以使用
.my-class1.my-class2
作为.my-class1
的后代的任何.my-class2
!听起来像是form*div
是form div
的一个长版本?或者它只适用于类/ID?这是基本的CSS。您应该避免使用通配符选择器*
,因此此form*div
或此form div
也会这样做*
表示任何元素,因此您引用的特定行将选择任何其他元素下的所有my-class2
,而该元素位于my-class1
下。我同意@dippas使用*
有点臭。@dippas,form*div
几乎和form div
一样。后者允许div
是表单的直接子元素,而前者需要(任何)中间元素。@Chris Yes,下面的选择器:div*p
匹配一个p元素,该p元素是div元素的孙子或后代。没有理由。my-class1*。my-class2
不应该工作-正如您所期望的,这两个选择器同样有效。问题在别处。