Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 基于类选择子体_Html_Css - Fatal编程技术网

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
不应该工作-正如您所期望的,这两个选择器同样有效。问题在别处。