Html 为页面的第一个blockquote定义样式
假设我有一个包含3个块引号的html页面。如何在不使用类的情况下使用css将(页面的)第一个blockquote的背景设置为红色 我已经试过了Html 为页面的第一个blockquote定义样式,html,css,css-selectors,Html,Css,Css Selectors,假设我有一个包含3个块引号的html页面。如何在不使用类的情况下使用css将(页面的)第一个blockquote的背景设置为红色 我已经试过了 body blockquote: first-child { background-color: red; } …没有成功 谢谢。在一般情况下,仅使用CSS无法做到这一点。没有“类型的第一个子代”选择器,只有“类型的第一个子代” 但是,通常可以对标记进行假设。为了明确起见,假设页面内容在…内,并且所有blockquote元素都显示为该元
body blockquote: first-child {
background-color: red;
}
…没有成功
谢谢。在一般情况下,仅使用CSS无法做到这一点。没有“类型的第一个子代”选择器,只有“类型的第一个子代” 但是,通常可以对标记进行假设。为了明确起见,假设页面内容在
…
内,并且所有blockquote
元素都显示为该元素的子元素。然后,您只需使用类型选择器的:第一个:
#内容块引号:类型的第一个{
背景色:红色;
}
一些东西
有人引用我的话。
再来点东西
我也被引用。
CSS不起作用的原因:
您的HTML结构:
body
__ parent
____ blockquote
__ parent
____ blockquote
CSS:
body blockquote: first-child {
background-color: red;
}
这个CSS选择器实际上做的是-它选择每个块引号
,它首先出现在其父对象中和非主体中
当元素嵌套在其他元素中时,第一个子元素与body标记各自不起作用。它分别对父对象起作用
尝试改用此选项:
td.wsite-multicol-col:first-child blockquote {
background: red;
}
这将选择第一个列
,并为其子项设置样式(blockquote
)。它不会将样式设置为页面的第一个块引号。我按照您的建议尝试了。。。这是测试页面:问题是我尝试使用的父内容是.container
,但这不是blockquote的直接父内容,而且似乎不起作用。无论如何,谢谢。@Bronzato,在这种情况下,答案的一般部分适用:你不能。正如你所说,它适用于第一个col
的第一个blockquote。但是如何为页面的第一个blockquote设置样式呢?假设页面上可能有多个col
?无论如何,谢谢。我更新了演示页面,以显示当我只需要第一个块引号时,有两个块引号获得样式的问题。你不能在CSS中使用如此深的嵌套标记。你可以尝试JS。可能的副本(不是vtc'ed,只是链接)。