


Why Do Safari, Chrome, and Firefox Display Different Results with the CSS `:not()` Selector?
:not() Selector Discrepancy in Safari, Chrome, and Firefox
The :not() selector is used to select elements that do not match a specified set of selectors. However, there may be inconsistencies in how this selector behaves across browsers, as we can see in the following code:
em:not(div) { color: red } em:not(p div) { color: blue }
<p> <em>FOO</em> </p>
In Safari, the above code renders the 'FOO' text in blue, while in Chrome and Firefox, it renders in red. This behavior is due to a recent update in Safari that implements the level 4 version of :not(), which allows it to handle more complex selectors.
In the current implementation of :not(), only single simple selectors are supported as arguments. Complex selectors, such as 'p div', are not currently supported by design. Therefore, in Chrome and Firefox, the :not(p div) rule fails to apply, and the 'FOO' text inherits the red color as per the first rule.
Safari, however, has implemented the more advanced level 4 specification, allowing complex selectors for :not() arguments. Hence, the :not(p div) rule matches the 'FOO' element, resulting in the blue color.
This discrepancy highlights the potential challenges and considerations when developing cross-browser compatible websites. As newer versions of browsers introduce updated CSS specifications, it becomes necessary to keep track of browser compatibility and potential implementation differences.
The above is the detailed content of Why Do Safari, Chrome, and Firefox Display Different Results with the CSS `:not()` Selector?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











Let’s attempt to coin a term here: "Static Form Provider." You bring your HTML

In this week's roundup of platform news, Chrome introduces a new attribute for loading, accessibility specifications for web developers, and the BBC moves

At the start of a new project, Sass compilation happens in the blink of an eye. This feels great, especially when it’s paired with Browsersync, which reloads

This is me looking at the HTML element for the first time. I've been aware of it for a while, but haven't taken it for a spin yet. It has some pretty cool and

Buy or build is a classic debate in technology. Building things yourself might feel less expensive because there is no line item on your credit card bill, but

You should for sure be setting far-out cache headers on your assets like CSS and JavaScript (and images and fonts and whatever else). That tells the browser

For a while, iTunes was the big dog in podcasting, so if you linked "Subscribe to Podcast" to like:

In this week's roundup, a handy bookmarklet for inspecting typography, using await to tinker with how JavaScript modules import one another, plus Facebook's
