:not() 选择器差异:Safari 与 Chrome/Firefox
:not() CSS 选择器,用于从列表中排除特定元素与 Chrome 和 Firefox 相比,Safari 中的选择行为有所不同。这种差异给开发人员带来了困惑,促使他们对其根本原因进行调查。
根据最近的观察,Safari 现在完全支持 :not() 的 4 级规范,该规范允许在其参数中使用复杂的选择器。此功能使其与 jQuery 的实现保持一致。但是,Chrome 和 Firefox 目前仅支持简单选择器作为 :not() 的参数。
:not() 选择器异常源于在括号内使用复杂选择器。复杂选择器由多个由组合器连接的简单选择器组成,例如后代、相邻同级和一般同级。在提供的代码片段中,选择器 p div 表示一个复杂选择器,因为它将两个简单选择器(p 和 div)与后代组合器组合在一起。
由于 Chrome 和 Firefox 不支持 :not( 的复杂选择器) 参数,所提供代码中的 p div 部分无法识别。因此,:not() 选择器实际上被忽略,并且后备规则 em:not(...) 适用。此后备规则将红色指定为所有 元素的颜色,它是 Chrome 和 Firefox 中观察到的红色文本的原因。
相反,Safari 支持 :not() 中的复杂选择器,正确排除
中的 元素红色规范中的元素。这会导致 Safari 中显示蓝色文本。
目前,Chrome 和 Firefox 何时支持 :not() 复杂选择器的时间表仍不确定。然而,Safari 中 4 级规范的实现是一项重大发展,使其与最新的 Web 标准保持一致,并为 CSS 选择器提供了增强的功能。
以上是为什么 Safari 中的 `:not()` 选择器与 Chrome 和 Firefox 中的行为不同?的详细内容。更多信息请关注PHP中文网其他相关文章!

文章讨论了CSS FlexBox,这是一种布局方法,用于有效地对齐和分布响应设计中的空间。它说明了FlexBox用法,将其与CSS网格进行了比较,并详细浏览了浏览器支持。

本文讨论了使用CSS创建响应网站的技术,包括视口元标签,灵活的网格,流体媒体,媒体查询和相对单元。它还涵盖了使用CSS网格和Flexbox一起使用,并推荐CSS框架

本文讨论了CSS盒装属性,该属性控制了元素维度的计算方式。它解释了诸如Content-Box,Border-Box和Padding-Box之类的值,以及它们对布局设计和形式对齐的影响。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3汉化版
中文版,非常好用

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。