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

是否有“全包兄弟” CSS选择器之类的东西?

齐俊达
2023-03-14
问题内容

我的HTML:

<p>Doggies</p>
<p class="green_guys">Froggies</p>
<p>Cupcakes</p>
<p>Piggies</p>

当用于选择green_guys的兄弟姐妹时,一个全包兄弟姐妹选择器(如我希望的那样)将选择小狗纸杯蛋糕和小猪。

其他选择器:

+选择器(又名 相邻兄弟选择器 )将仅选择蛋糕:

.green_guys + p {
    /* selects the <p> element that immediately follows .green_guys */
}

~选择器(又名 一般兄弟选择 )将只能选择蛋糕,和小猪:

.green_guys ~ p {
    /* selects all <p> elements that follow .green_guys */
}

问题答案:

没有向后或向后看的同级组合器,只有向前看的相邻和普通同级组合器。

您能做的最好的事情就是确定一种方法,将选择仅限制于p具有相同父元素的这些元素,然后选择p子元素:not(.green_guys)#parent例如,如果父元素的ID为,则可以使用以下选择器:

#parent > p:not(.green_guys) {
    /* selects all <p> children of #parent that are not .green_guys */
}

但是,p即使它们 都不 包含类,上述内容仍将与您的元素匹配。当前仅在 存在
元素的同级元素的情况下才可能选择该元素的同级元素(这是同级组合器的目的-在 两个 同级元素之间建立关系)。

选择器4:has()希望可以纠正此问题,而无需先前的同级组合器,从而产生以下解决方案

p:has(~ .green_guys), .green_guys ~ p {
    /* selects all <p> elements that are siblings of .green_guys */
}

如果父元素的所有子元素都没有该类,则此内容将不匹配。



 类似资料:
  • 问题内容: 加号()用于下一个兄弟姐妹。 以前的兄弟姐妹有同等学历吗? 问题答案: 不,没有“先前的兄弟”选择器。 与此相关的是,它用于一般后继兄弟(这意味着该元素在此之后,但不一定紧随其后),并且是CSS3选择器。是下一兄弟姐妹,是CSS2.1。 看到相邻的兄弟组合子从选择器3级和5.7相邻同胞选择从层叠样式表级别2版本1(CSS2.1)规范]。

  • 问题内容: 如何选择锚元素的直接父元素? 例如,我的CSS将是这样的: 显然,可以使用JavaScript进行此操作,但是我希望CSS Level 2本身具有某种解决方法。 我正在尝试设置样式的菜单已由CMS弹出,因此我无法将活动元素移动到元素…(除非我将菜单创建模块作为主题,但我不希望这样做)。 有任何想法吗? 问题答案: 当前无法在CSS中选择元素的父级。 如果有办法,可以在当前的CSS选择器

  • 问题内容: 只有子元素存在时,我才能使用css选择器吗? 考虑: 我只想在div没有至少一个子元素的情况下应用div 。 我可以使用的任何选择器吗? 问题答案: 甚至文本节点也将导致父节点不被认为是空的,因此DIV中的UL将阻止DIV被匹配。 如果您执行脚本路线: 当然,jQuery使这样的任务变得更容易,但是这一任务不足以包含整个库。

  • 问题内容: 我想将CSS规则应用于其类之一与指定前缀匹配的任何元素。 例如,我想要一个规则,该规则将适用于以(A和C,但以下代码段中不包含B)开头的类的div : 某种组合: 和 在CSS 2.1下可以使用吗?它可以在任何CSS规范下执行吗? 注意:我知道我可以使用jQuery来模拟。 问题答案: 这不是可行的与CSS2.1,但它有可能与CSS3属性字符串匹配选择(这 是 在IE7 +支持): 注

  • 问题内容: 我知道有一个选择器。我似乎找不到选择器的使用或文档。有一个吗? 问题答案: CSS中没有伪类。 该动态伪类,像其他伪类,事实上所有其他选择,代表_国家_ ; 它们不代表文档树中的 事件 或 状态之间的转换 。举个例子:伪类代表了一个 被 关注的元素。它不代表刚刚_获得_关注的元素,也不存在伪类来代表刚刚 失去 关注的元素。 同样,这适用于伪类。虽然它表示具有指示设备在其上的元件,既不存

  • 本文向大家介绍相邻兄弟选择器、后代选择器和子选择器三者有什么区别?相关面试题,主要包含被问及相邻兄弟选择器、后代选择器和子选择器三者有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 后代选择器与子选择的关系:后代选择器>子选择器。 后代选择器:包括父元素的子元素以及孙子元素(代表符号:空格) 子选择器:包括父元素的子元素(仅仅是子元素)(代表符号:>) 相邻兄弟选择器与后续兄弟选择的关系:后