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

选择器div + p(加号)和div〜p(波浪号)之间的差异

佘京
2023-03-14
问题内容

div + p
选择所有<p>紧随<div>元素之后的元素

div ~ p
选择<p>元素前面的每个<div>元素

如果一个<p>元素紧接在一个<div>元素之后,那是否不意味着该<p>元素前面有一个<div>元素?

无论如何,我正在寻找一个选择器,可以在其中选择紧接 给定元素 之前 的元素。


问题答案:

相邻的兄弟选择器X + Y

相邻的同级选择器具有以下语法:E1 +
E2,其中E2是选择器的主题。如果E1和E2在文档树中共享相同的父项,并且E1紧随E2而不考虑非元素节点(例如文本节点和注释),则选择器匹配。

ul + p {
   color: red;
}

在此示例中,它将仅选择紧接在前一个元素之后的元素。在这种情况下,仅每个ul之后的第一段将显示红色文本。

ul + p {

    color: red;

}


<div id="container">

    <ul>

        <li>List Item</li>

        <li>List Item</li>

        <li>List Item</li>

        <li>List Item</li>

    </ul>

    <p>This will be red</p>

    <p>This will be black</p>

    <p>This will be black</p>

</div>

通用兄弟选择器X〜Y

〜组合器分隔两个选择器,并且仅在第二个选择器后面有第二个选择器时才与之匹配,并且两者都共享一个公共父项。

ul ~ p {
   color: red;
}

该同级组合器类似于X + Y,但是它的严格性较差。虽然相邻的选择器(ul +
p)将仅选择前一个选择器紧随其后的第一个元素,但该选择器更为通用。参照上面的示例,它将选择任何p个元素,只要它们遵循ul即可。

ul ~ p {

  color: red;

}


<div id="container">

  <ul>

    <li>List Item

      <ul>

        <li>Child</li>

      </ul>

    </li>

    <li>List Item</li>

    <li>List Item</li>

    <li>List Item</li>

  </ul>

  <p>This will be red.</p>

  <p>This will be red.</p>

  <p>This will be red.</p>

  <p>This will be red.</p>

</div>


 类似资料:
  • 问题内容: 我一直以为并且是完全相同的,因此可以互换使用。今天,当我尝试在共享服务器上安装与memcached的python绑定 pylibmc时 ,使用的错误给了我,但没有给我 。我想说明原因。 libmemcached 是 pylibmc 的要求。我在主目录下安装了 libmemcached, 因为服务器上没有root。结果,要安装 pylibmc ,我需要确保安装脚本知道在哪里可以找到 li

  • 本文向大家介绍C中的++ * p,* p ++和* ++ p之间的区别,包括了C中的++ * p,* p ++和* ++ p之间的区别的使用技巧和注意事项,需要的朋友参考一下 指针式 在C语言中,* p表示存储在指针中的值。++是前缀和后缀表达式中使用的增量运算符。*是取消引用运算符。前缀++和*的优先级相同,并且两者从右到左关联。后缀++的优先级高于前缀++和*,并且从左到右具有关联性。请参见以

  • 问题内容: 搜索角色并不容易。我查看了一些CSS,发现了这个 这是什么意思? 问题答案: 该选择器实际上是[通用同级组合器(在选择器级别4中重命名为后续同级组合[器): 通用同级组合器由分隔两个简单选择器序列的“波浪号”(U+007E,〜)字符组成。这两个序列所表示的元素在文档树中共享相同的父对象,而第一个序列所表示的元素在第二个所表示的元素之前(不一定紧接)。 考虑以下示例: 与第4个和第5个列

  • 本文向大家介绍jquery选择器中的空格与大于号>、加号+与波浪号~的区别介绍,包括了jquery选择器中的空格与大于号>、加号+与波浪号~的区别介绍的使用技巧和注意事项,需要的朋友参考一下 概念 空格:$('parent childchild')表示获取parent下的所有的childchild节点 大于号:$('parent > childchild')表示获取parent下的所有下一级chi

  • 问题内容: 如何在div中加入div?我将显示更改为内联,但是浏览器将基本段落分为两个元素,而div将不是该段落的成员。 问题答案: 形成w3网站: P元素表示一个段落。它不能包含 块级元素(包括P本身)。

  • 我试图使用primefaces 4.0的可选datatable,但所选对象始终为null。我已经厌倦了像这里和这里所说的那样添加行键,但仍然得到null。。。 这是我的页面: 在我的后盾豆里: newAppraiseBean.modifyAppDetail():(只需打印所选项目) 数据模型: 它总是打印为空,我不知道我遗漏了什么。 这是netbean项目的压缩文件,解压后可以直接用netbean