选择器 div + p(加号)和 div ~ p(波形符)之间的区别

2024-02-16

那样的方式w3学校 http://www.w3schools.com/短语它,它们听起来是一样的。

W3Schools 的 CSS 参考 http://www.w3schools.com/cssref/css_selectors.asp

div + p
选择全部<p>紧随其后放置的元素<div>元素

div ~ p
选择每个<p>前面带有 a 的元素<div> element

If a <p>元素紧接在 a 之后<div>元素,这是否意味着<p>元素前面有一个<div>元素?

无论如何,我正在寻找一个选择器,我可以在其中选择立即放置的元素before给定的元素。


相邻兄弟选择器 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>

Source

代码.tutsplus http://code.tutsplus.com/tutorials/the-30-css-selectors-you-must-memorize--net-16048

通用兄弟选择器 MDN https://developer.mozilla.org/en-US/docs/Web/CSS/General_sibling_selectors

相邻兄弟选择器 w3 http://www.w3.org/TR/CSS21/selector.html#adjacent-selectors

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

选择器 div + p(加号)和 div ~ p(波形符)之间的区别 的相关文章

随机推荐

  • MediaStyle 通知:播放/暂停按钮不响应单击

    在我的应用程序中 当用户选择要播放的音频文件时 当文件准备好并且播放开始时 会成功显示 MediaStyle 通知 元数据信息已更新 标题 图标等 但是 1 Play Pause button does not respond to cli
  • 在 PyCharm 中调试 asyncio 代码会导致绝对疯狂的不可重复错误

    在我的基于使用 PyCharm 调试器进行调试的 asyncio 和 asyncio tcp 连接的项目中 我遇到了非常非常荒谬的错误 如果我在运行后在代码上放置断点 则断点永远不会触发 但是如果在启动程序之前设置了断点 则会触发断点 但在
  • Select2 下拉更改事件不起作用

    我在用Select2下拉菜单 我需要根据下拉菜单选择执行一些功能 我尝试过以下代码 但它对我不起作用 eventSelect on select2 select function e log select2 select e eventSe
  • 结构体中的指针和值有什么区别?

    给定以下结构 type Exp struct foo int bar int 在结构中使用指针或值时 性能有何区别 是否有任何开销或者这只是 Go 编程的两个流派 我会使用指针来实现链式结构 但这是否是我们必须在结构中使用指针以获得性能的唯
  • jQuery - SlideToggle() 和切换文本

    我有一个可以使用隐藏的联系表 slideToggle 但我希望该选项卡用于Toggle根据表单是否更改文本的表单in view or hidden 这是 jQuery slider click function form wrap anim
  • 如何将 SQLSRV 扩展安装到 php XAMPP

    I m trying to install a SQLSRV extension My PHP version is 7 2 XAMPP 3 2 2 and I use windows 10 I downloaded the dll fro
  • myisam_sort_buffer_size 与 sort_buffer_size

    我的服务器是 MySQL 内存为 6GB 我需要知道 myisam sort buffer size 和 sort buffer size 之间有什么区别 我为它们设置了以下尺寸 myisam sort buffer size 8M 排序缓
  • 错误:找不到Python模块tensorflow.python.keras

    我想将一些数值转换为类别 我正在使用 keras 包进行图像分类 当我使用 to categorical trainy 时 收到 错误 未找到 Python 模块tensorflow python keras 我已经采取了 trainy l
  • Firebase - 对多个节点进行更新/扇出时设置优先级

    我正在一次更新中写入 Firebase 数据库的多个部分 节点 这样做时是否可以设置节点的优先级 例子 firebaseRef update some node value some other node other value 如果我想同
  • 使用 Gluon 移动环境时如何在运行时请求权限?

    我是新来的 因此我还不知道该网站的所有规则 对此感到抱歉 我正在使用 Eclipse 工具中的 Gluon 移动插件构建桌面和 Android 的 Java 应用程序 我有针对桌面和 Android 的不同代码 如示例中所述 http do
  • PyCharm 使用 Mypy 吗?

    PyCharm 使用 Mypy 还是 JetBrains 实现PEP 484 https www python org dev peps pep 0484 分别地 看来他们采用了自己的实现方式 https github com python
  • Django - 重写 Model.create() 方法?

    The Django 文档 http docs djangoproject com en dev topics db models overriding predefined model methods仅列出覆盖的示例save and de
  • 在 RHEL 6.5 上安装 RPostgreSQL libpq-fe.h 错误

    我有 RHEL 6 5 服务器 安装了 R 3 1 1 和 RStudioServer 0 98 1062 我安装了 postgresql 9 3 并处理一个大型数据库 为了将 R 连接到 PostgreSQL 我过去使用过 RPostgr
  • 通过 python/JS 发送 Whatsapp 消息

    我编写了一个程序 它从 excel 获取信息并通过 python 发送消息 我使用 selenium 和 span 来查找我需要的元素 现在 WhatsApp 更改了 HTML 不再有跨度 旧代码在这里 import time import
  • HTML 中
    标签的使用:版权还是网站管理员?

    在我客户网站的页脚上有他的地址和版权声明 下面是网站管理员的地址 对于两者 我将使用 hCard 微格式 我应该使用其中的哪一个
  • 将 netCDF 文件转换为 csv

    我正在努力将几个 Berkeley Earth netCDF 文件转换为 CSV 或其他表格格式 我意识到以前曾提出过类似的问题 但我无法应用我遇到的任何解决方案 例如 这个数据集 http berkeleyearth lbl gov au
  • 将图像绕一个圆圈

    在这个例子中我想做的是将图像包裹在一个圆圈上 如下所示 为了包装图像 我简单地使用 trig 计算了 x y 坐标 问题是计算出的 X 和 Y 位置被四舍五入以使其成为整数 这会导致上面的包裹图像中出现空白像素 x y 位置必须是整数 因为
  • 如何在 JSF 托管 bean 中创建、访问和销毁会话?

    目前 我正在为在线购物车创建一个 Web 应用程序 我需要在每个 jsf 页面上维护会话 我的问题是 如何在托管 bean 中创建和销毁会话 如何访问存储在会话变量中的值 像这样 FacesContext getCurrentInstanc
  • 我的react-native expo 应用程序的已编译 typescript js 文件在哪里?

    我刚刚创建了一个默认的打字稿博览会项目expo init 并且它有一个简单的App tsx主目录中的文件 我可以对文件进行更改并将这些更改反映在我的应用程序中 但我似乎找不到相应的输出文件 App js文件随处可见 我觉得这很令人困惑 深入
  • 选择器 div + p(加号)和 div ~ p(波形符)之间的区别

    那样的方式w3学校 http www w3schools com 短语它 它们听起来是一样的 W3Schools 的 CSS 参考 http www w3schools com cssref css selectors asp div p选