Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.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 不要将css样式应用于子元素_Html_Css_Css Selectors - Fatal编程技术网

Html 不要将css样式应用于子元素

Html 不要将css样式应用于子元素,html,css,css-selectors,Html,Css,Css Selectors,我们有 但这意味着第三和更深层次的div将受到影响 没有身份证!请仅使用CSS选择器 谢谢 我可能会给第二个div增加一个css类 当您使用someelement someotherelement时,第一个元素的深度并不重要。但是您可以在它们之间添加一个,以仅选择正是someelement的子元素的someotherelement,如下所示:someelement>someotherelement,并且它不会选择第一个选择器的子元素中的子元素。建议使用类组合。例如,使用:not选择器排除父项,然

我们有

但这意味着第三和更深层次的div将受到影响

没有身份证!请仅使用CSS选择器


谢谢

我可能会给第二个div增加一个css类


当您使用
someelement someotherelement
时,第一个元素的深度并不重要。但是您可以在它们之间添加一个
,以仅选择正是
someelement
的子元素的
someotherelement
,如下所示:
someelement>someotherelement
,并且它不会选择第一个选择器的子元素中的子元素。

建议使用类组合。例如,
使用
:not
选择器排除父项,然后拥有一长串子组合符可能完成以下工作:

.xTable table .xTable
不过,您可能需要混合隐式tbody元素

更好的解决方案可能是:

:not(table) > .xTable > table > tr > td > .xTable

那么这不仅仅是:

.xTable .xTable {
    foo: bar;
}

.xTable .xTable .xTable {
    foo: Whatever it would have been if the previous selector didn't match
}

??

正如您所说,您不能添加@Rob提供的类名,那么我认为使用javascript或jquery只有一种方法。下面我提供了使用jQuery的解决方案

body > .xTable table tr td.xTable {STYLES}

查看有关它的详细信息

以完全满足此默认标记和浏览器的需要,浏览器可以在尚未指定的位置正确添加
t正文
,您需要使用:

$('.xTable:eq(1)').css('backgroundColor','green'); //Selects the second .xTable class div


这假设您的第一个
除了
之外没有其他父母。如果情况并非如此,则将
身体
更换为您的父母。

同意。从语义标记的角度来看,这是最正确的解决方案。html是动态生成的,事实并非如此。我需要纯css。@gr9zev你不能用它生成css类吗?或者它是如此的普通以至于完全无法管理?我不能,它是由复杂的3d团队生成的。不
。xTable
是另一个团队的孩子。它们在更深层次上有自己的风格。all.xTable已经有了自己的风格。只有第二个需要重写,更深层次的元素不能受到影响。请确保用容器元素替换body。因此,在复杂层次结构的情况下,我需要指定每个子元素?我试试看。感谢
选择器选择元素,没有更深的内容
body>.xTable>.xTable
不能像
那样工作。xTable
不是
.xTable
的直接子项;同样地,
body>.xTable>table.xTable
会将样式应用于第一个
.xTable
的子
table
中包含的所有
.xTable
元素(从而设置第二个和第三个
.xTable
元素的样式)。为了不选择更深层次的元素,您必须像这样工作
y的x父,z的父…
而不是
y父的x父或z的祖父母…
$('.xTable:eq(1)').css('backgroundColor','green'); //Selects the second .xTable class div
body > .xTable > table > tr > td > .xTable,
body > .xTable > table > tbody > tr > td > .xTable {
    ...
}