当前位置: 首页 > 面试题库 >

CSS选择另一个元素的多个子元素

郭洋
2023-03-14
问题内容

是否可以在CSS中选择多个具有某个特定类,id等父的元素?例如:

table.exams caption, tbody, tfoot, thead, tr, th, td

如果不是,是否有办法选择该元素的所有子元素?


问题答案:

是否可以在CSS中选择多个具有某个特定类,id等父的元素?

当前,不幸的是,并非没有复制整个父选择器并指定所有后代,而是1:

table.exams caption, 
table.exams tbody, 
table.exams tfoot, 
table.exams thead, 
table.exams tr, 
table.exams th, 
table.exams td

直到选择器3最终确定后,他们才提出了伪类表示法来进行此操作,直到最近,基本实现才开始出现。

简而言之,现在已成为标准的伪类称为:matches()。在遥远的将来,一旦浏览器开始实施:matches(),您将可以执行以下操作:

table.exams :matches(caption, tbody, tfoot, thead, tr, th, td)

如果不是,是否有办法选择该类别的所有后代?

好吧,您可以简单地使用一个*代表任何元素的星号。鉴于您在选择器中有thtd,您可能意味着的所有后代而不是的所有子代table.exams,因此请不要使用>,而应使用空格:

table.exams *

但实际上,请 避免这样做 。如果可以,请尽最大努力指定您要选择的后代类型。

1 特别是对于表,您可以使用table.exams > :not(.colgroup), table.exams > * > tr>*,但是您可以看出它是难以置信的神秘(更不用说它假设您在此表中没有脚本支持元素或嵌套表),最好只列出所有您明确想要的后代。



 类似资料:
  • 问题内容: 我在页面上有以下HTML代码: 在我中,我有以下选择器来设置元素的样式。上面的HTML代码只是整个代码的一小部分;有更多的包裹属于一个shadowbox: 因此,我的元素样式正确,但是我也想在HTML中设置标签样式。 CSS选择器可能吗?如果是的话,我该怎么做? 问题答案: 这称为相邻的兄弟选择器。

  • 问题内容: 我对CSS选择器有疑问。仅当在具有类名的a中时,如何选择具有特定类名的a ?这个CSS类在其他地方使用,我不想在任何地方更改样式。 问题答案: 只需在父元素和后代元素之间使用CSS后代选择器(空格)即可: 在这种情况下,仅适用于Class的规则,前提是其祖先是该Class的规则。相反,您可以使用直接子组合器,但是您必须指定与每个父/祖先的关系,直到需要其类的父子/祖先,这可能很难维护C

  • 问题内容: 我有一堆带有类名的元素,但是我似乎无法使用以下CSS规则选择第一个元素: 该选择器有什么问题,我该如何纠正? 多亏了这些评论,我才知道该元素必须是其父元素的第一个子元素才能被选中,而事实并非如此。我具有以下结构,并且该规则失败,如注释中所述: 我该如何针对上课的第一个孩子? 问题答案: 这是作者误解工作方式的最著名例子之一。在CSS2介绍,该伪类表示其父的第一个孩子。而已。有一个非常普

  • 问题内容: 我有能够反映不同的状态,由用户(触发元件,等)或由所述服务器(操作,等等)。 我可以定位状态已更改的元素,但似乎找不到基于所讨论元素的状态定位DOM中其他元素的方法。 例: 或者只是在服务器端使用适当的样式呈现元素。 是否有CSS选择器可让我指定应根据目标元素的状态选择哪些元素? 就像是: 那将允许我也将 目标 与CSS 没有相同父元素的元素定位 ? 问题答案: 规范问题的一般答案 如

  • 问题内容: 例如,是否可以选择一组元素中的每个第四个元素? 例如:我有16个元素…我可以写类似的东西。 有一个更好的方法吗? 问题答案: 顾名思义,它允许您使用除常数以外的变量构造算术表达式。您可以执行加法(),减法()和系数乘法(其中是整数,包括正数,负数和零)。 这是重写上面的选择器列表的方法: 有关这些算术表达式如何工作的解释,请参见我对该问题的回答以及规范。 请注意,此答案假设同一父元素内

  • 问题内容: hello 我要选择吗? 只要我在commentList中还有另一个作为实际的最后一个孩子,那就行不通。在这种情况下是否可以使用last- child选择器来选择的最后出现? 问题答案: 仅在有问题的元素是容器的最后一个子元素而不是特定类型的元素的最后一个元素时起作用。为此,你想要 根据@BoltClock的注释,这仅检查最后一个元素,而不检查类为的最后一个元素。