Implementation of CSS child element selection parent element

Implementation of CSS child element selection parent element

Usually a CSS selector selects from top to bottom, selecting child elements through parent elements. So, is it possible to select parent elements through child elements?

<ul>
    <li>
        <a href="#" class="active">1</a>
    </li>
    <li>
        <a href="#">2</a>
    </li>
</ul>

If I want to select the li that contains a.active, how can I achieve it? The CSS we have learned so far seems to have no solution, but today we will introduce a CSS pseudo-class: has() which has this function. Although it is still in the draft stage, you can still learn about it in advance.

li:has(> a.active){
    color:red;
}

In addition to indicating inclusion, :has can also indicate a sibling-following relationship.

div:has(+ p){
    color:red;
}

Indicates the selection of the <div> tag, provided that the div tag must be followed by a <p>. Can also be used with :not

article:not(:has(a)){
    color:red;
}

Represents an <article> tag that does not contain an <a>. Note the order of :not and :has here. Different orders represent different meanings.

article:has(:not(a)){
    color:red;
}

Indicates that it contains non-<a> <article> tags

In fact, the :focus-within we talked about earlier is also a pseudo-class that selects the parent element through the child element, but the condition can only be whether the child element gets the focus, while :has is more flexible and powerful.

form:focus-within{
    background-color:black;
}

If implemented through :has, it can be written like this

form:has(:focus){
    background-color:black;
}

This is the end of this article about the implementation of CSS child element selection of parent elements. For more relevant CSS child element selection of parent elements, please search 123WORDPRESS.COM’s previous articles or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future!

<<:  Use JS to operate files (FileReader reads --node's fs)

>>:  HTML head tag detailed introduction

Recommend

Nginx reverse proxy springboot jar package process analysis

The common way to deploy a springboot project to ...

Basic usage of exists, in and any in MySQL

【1】exists Use a loop to query the external table ...

Examples of using && and || operators in javascript

Table of contents Preface && Operator || ...

Example code for converting Mysql query result set into JSON data

Mysql converts query result set into JSON data Pr...

CSS form validation function implementation code

Rendering principle In the form element, there is...

CSS animation property usage and example code (transition/transform/animation)

During development, a good user interface will al...

How to use JavaScript to determine several common browsers through userAgent

Preface Usually when making h5 pages, you need to...

MySQL UNION operator basic knowledge points

MySQL UNION Operator This tutorial introduces the...

JavaScript to achieve fixed sidebar

Use javascript to implement a fixed sidebar, for ...

Detailed explanation of how to configure static IP in Centos8

After installing centos 8, the following error wi...

Native js to achieve seamless carousel effect

Native js realizes the carousel effect (seamless ...

How to view server hardware information in Linux

Hi, everyone; today is Double 12, have you done a...

JavaScript to implement a simple web calculator

background Since I was assigned to a new project ...