国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Table of Contents
Understanding :is() – Simplify Repeated Selectors
Using :where() – Same Syntax, Lower Specificity
Leveraging :has() – Parent Selection Based on Children
Home Web Front-end Front-end Q&A How do advanced CSS selectors like :is(), :where(), and :has() improve targeting capabilities?

How do advanced CSS selectors like :is(), :where(), and :has() improve targeting capabilities?

Jun 19, 2025 am 12:59 AM
css selector :has()

CSS advanced selectors such as:is(), :where() and :has() enhance style control capabilities. 1. :is() is used to simplify duplicate selectors. For example::is(h1, h2, p) a can uniformly set the styles of links in different contexts; 2. :where() and :is() have the same syntax but are less specific, and are suitable for defining default styles that are easily overwritten, such as ::where(.theme-dark, .theme-light) button; 3. :has() allows the selection of parent elements based on child elements. For example, article:has(img) can add borders to articles containing images, but attention should be paid to browser compatibility issues. These selectors reduce redundant code and improve layout flexibility.

Advanced CSS selectors like :is() , :where() , and :has() gives developers more control over styling elements based on complex conditions — things that used to require extra classes or JavaScript can now be handled directly in CSS.

Understanding :is() – Simplify Repeated Selectors

:is() (formerly known as :matches() and :any() ) lets you apply the same styles to multiple selectors without repeating yourself. This is super handy when you want to target similar elements nested in different contexts.

For example, if you want links inside headings and paragraphs to look the same, instead of writing:

 h1 a,
h2 a,
pa {
  color: blue;
}

You can simplify it with:

 :is(h1, h2, p) a {
  color: blue;
}

This makes your CSS cleaner and easier to maintain. It also helps avoid mistakes when adding or removing selector variations.

Using :where() – Same Syntax, Lower Specificity

:where() works just like :is() , but with one key difference: it doesn't add specificity. That means styles inside :where() won't override other rules just because of selector strength.

This is useful when you want to apply default styles broadly but still allow them to be easily overridden later.

Example:

 :where(.theme-dark, .theme-light) button {
  border-radius: 8px;
}

Since this uses :where() , another rule targeting .theme-dark button directly will take precedence — helpful for theme switching or layered styling systems.

Leveraging :has() – Parent Selection Based on Children

:has() is the most powerful and unique of these selectors. It allows you to style an element based on its children or descendants — something CSS couldn't do before.

For instance, if you want to add a border to any article that contains an image:

 article:has(img) {
  border: 1px solid #ccc;
}

Or style a link differently if it includes both text and an icon:

 a:has(svg, span) {
  display: inline-flex;
  gap: 8px;
  align-items: center;
}

Just keep in mind browser support isn't perfect yet — especially in older browsers — so test carefully if you're using it in production.


These selectors help reduce redundancy, improve readability, and open up new layout possibilities. They don't replace JavaScript entirely, but they definitely cut down on what you need it for.

The above is the detailed content of How do advanced CSS selectors like :is(), :where(), and :has() improve targeting capabilities?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to resize HTML textbox How to resize HTML textbox Feb 20, 2024 am 10:03 AM

Setting the size of HTML text boxes is a very common operation in front-end development. This article explains how to set the size of a text box and provides specific code examples. In HTML, you can use CSS to set the size of a text box. The specific code is as follows: input[type="text&quot

What exactly does H5 page production mean? What exactly does H5 page production mean? Apr 06, 2025 am 07:18 AM

H5 page production refers to the creation of cross-platform compatible web pages using technologies such as HTML5, CSS3 and JavaScript. Its core lies in the browser's parsing code, rendering structure, style and interactive functions. Common technologies include animation effects, responsive design, and data interaction. To avoid errors, developers should be debugged; performance optimization and best practices include image format optimization, request reduction and code specifications, etc. to improve loading speed and code quality.

How to adjust a WordPress theme to avoid misaligned display How to adjust a WordPress theme to avoid misaligned display Mar 05, 2024 pm 02:03 PM

How to adjust WordPress themes to avoid misaligned display requires specific code examples. As a powerful CMS system, WordPress is loved by many website developers and webmasters. However, when using WordPress to create a website, you often encounter the problem of theme misalignment, which affects the user experience and page beauty. Therefore, it is very important to properly adjust your WordPress theme to avoid misaligned display. This article will introduce how to adjust the theme through specific code examples.

The process of H5 page production The process of H5 page production Apr 06, 2025 am 09:03 AM

H5 page production process: design: plan page layout, style and content; HTML structure construction: use HTML tags to build a page framework; CSS style writing: use CSS to control the appearance and layout of the page; JavaScript interaction implementation: write code to achieve page animation and interaction; Performance optimization: compress pictures, code and reduce HTTP requests to improve page loading speed.

In Angular app: How to change icon color by hovering over? In Angular app: How to change icon color by hovering over? Apr 05, 2025 pm 02:15 PM

In Angular app, how to change the color of the icon when the mouse is hovered over it? Many developers will encounter needs when building applications using Angular...

Dynamic web page elements XPath and Class names change frequently. How to stably crawl the target a tag? Dynamic web page elements XPath and Class names change frequently. How to stably crawl the target a tag? Apr 01, 2025 pm 04:12 PM

Dynamic web element crawling problem: dealing with XPath and Class name changes, many crawler developers will encounter a difficult problem when crawling dynamic web pages: the goal...

Why does a specific div element in the Edge browser not display? How to solve this problem? Why does a specific div element in the Edge browser not display? How to solve this problem? Apr 05, 2025 pm 08:21 PM

How to solve the display problem caused by user agent style sheets? When using the Edge browser, a div element in the project cannot be displayed. After checking, I posted...

What are the elements in the excluded section of css selector What are the elements in the excluded section of css selector Apr 06, 2024 am 02:42 AM

The :not() selector can be used to exclude elements under certain conditions, and its syntax is :not(selector) {style rule}. Examples: :not(p) excludes all non-paragraph elements, li:not(.active) excludes inactive list items, :not(table) excludes non-table elements, div:not([data-role="primary"]) Exclude div elements with non-primary roles.

See all articles