search
HomeWeb Front-endJS TutorialPriority and weight analysis of CSS selectors

Priority and weight analysis of CSS selectors

Feb 28, 2018 pm 01:30 PM
prioritySelector

This article mainly shares with you the priority and weight analysis of CSS selectors, hoping to help you learn more about CSS selectors.

Basic Selector

##*Universal selectorsMatch all elements2.1ETag selectors (Type selectors) matches all 1.class Class selectors Matches all elements with 1#idID selectors match all## Elements with #id="wrapper"E[attr]a[data-url]# that match E[attr=val]Attribute selectors elements with the E[attr~=val]Attribute selectors attributes containing E[attr^=val]Attribute selectors attributes starting with E[attr$=val]Attribute selectors attributes ending with E[attr*=val]Attribute selectors attributes containing E FDescendant selectorsmatch all elements under the element p p

## under all

2.1Adjacent sibling selectorlabel + inputMatch all The first element's sibling2.1Sibling selectorlabel ~ inputMatch all elements with the same All 3label,input Pseudo-classes are used to specify a specific state or condition of the selector. Pseudo-classes do not exist in the DOM. exists, but is visible to the user. Dynamic pseudo-classes Dynamic pseudo-classes classify elements with characteristics other than their name, attributes or content, and will not be displayed in the document source or text tree. middle.
Selector Name Instance Description Version
*
p

.nav class="nav"
#wrapper 1
Attribute selectors Elements of all data-url attributes ##2.1
a[data-url=' http'] Match all data-url="http" attribute2.1
a[data-url~='http'] Matches all data-urlhttp elements2.1
a[data-url^='http'] Matches all data-urlhttp elements3
a[data-url$='http' ] Matches all data-urlhttp elements3
a[data-url*='http '] Matches all data-urlhttp3
p p

All

1##E > F sub Selectors (Child selectors)
Matches all children

elements #Element

E + F
Element E ~ F
elements of level ##S1,S2,... selector Group
match all elements 1 Pseudo-classes and pseudo-elements

Selector

Instance

DescriptionVersion##:link Matches unvisited links1 Matches visited links1 Matches the element over which the mouse pointer is floating 1 Matches the element over which the mouse pointer is pressed 1 Matches the element that receives focus2.1Selector
a:link
:visited a:visited
:hover a:hover
:active a:active
:focus input:focus
The target pseudo-classes The target pseudo-class specifies the currently active anchor. You can use the target pseudo-class to set styles for the active anchor.

Instance

Description

Version#tab1:target Matches the active anchor 3
##:target

The language pseudo-classes

Language pseudo-classes add styles to elements with the specified lang attribute.

##:lang(val) Matches the specified 3##The UI element states pseudo-classes
Selector Instance Description Version
#p:lang(en) lange="en"

Element

The UI element status pseudo-class is mainly used to specify the status of elements in the form.

Selector##:enabled3:disabled3input:checked## The #display and visibility
Instance Description Version
input:enabled Matches the activated element
input:disabled Match disabled elements ##:checked
Matches the selected element3
properties have no effect on the UI element state pseudo-class matching
enabled/disabled state. Structural pseudo-classes Structural pseudo-classes are used to specify the specific structure of the document.

Selector

InstanceDescriptionVersion:root:nth-child(n):nth-last-child(n):nth-of-type (n):nth-last-of-type(n):first-child :last-child ##:last-childMatch the last child element of its parent type element3:first-of-type Matches the first child element of its parent element with the same selector3: last-of-typematches the last child element of its parent element that has the same selector3 :only-childThe only child element matching its parent class3:only-childThe only one that matches its parent class Child elements with the same selector :empty match no children Elements (including text nodes) of elements , , :nth-of-type(n),
##:root
Matches the root element of the document 3 :nth-child(n)
Matches the nth child element of its parent element 3 :nth-last-child(n)
matches its The nth child element from the bottom of the parent class 3 :nth-of-type(n)
Matches the nth child element of its parent class with the same selector 3 :nth-last- of-type(n)
Matches the nth last child element of its parent class with the same selector 3 :first-child
matches its parent element The first child element of 3 :last-child
Match the last child element of its parent element 3 :last-child
:first-of-type
:first-of-type
:only-child
##:only-of-type
3 :empty
3 :nth-child(n):nth- last-child(n)
:nth-last-of-type(n)
where n is from For integers starting with 0, the expression can be written as an+b, a and b are 0 or positive integers. The expression is equivalent to dividing each a sub-element into a group and taking the b-th element of each group. ;The writeable expression for taking the odd or even numbered sub-elements is 2n+1 or even, 2n or odd. The negative pseudo-class is used to select all other elements that are not elements of the specified type. Selector
Instance

DescriptionVersion##:not(s)Match all other elements that are not of the specified type3Selector
input:not([type="text"])
Pseudo-elements Pseudo-elements refer to abstractions that do not exist in the document tree.

Instance

Description

Version::first-line Matches the first line of the element's text content1::first-letter1##::beforebefore the element2.1::afterAfter the element2.1
In CSS 1 and CSS 2, there is only one ":" in the pseudo-class selector, while CSS 3 has two "::" in order to distinguish pseudo-classes and pseudo-elements. Currently, the two writing methods have the same effect. .

::before and ::after must set the content attribute, otherwise the element will not take effect.

Priority and weight

The weight in CSS is divided into 4 levels:

  • Inline style (style in HTML document Attribute)

  • ID selector

  • Class, pseudo-class, attribute selector

  • Element , Pseudo-class elements

These 4 levels represent different priorities from high to low. !important can be written after the CSS rules to promote the corresponding rules. to the highest weight.

Related recommendations:

css selector example sharing

Detailed explanation of new usage of CSS selector

Implementation method of CSS selector field parsing

##::first-line
::first-letter Matches the first letter of the element's text content
::before
::after

The above is the detailed content of Priority and weight analysis of CSS selectors. For more information, please follow other related articles on the PHP Chinese website!

Statement
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
Python vs. JavaScript: A Comparative Analysis for DevelopersPython vs. JavaScript: A Comparative Analysis for DevelopersMay 09, 2025 am 12:22 AM

The main difference between Python and JavaScript is the type system and application scenarios. 1. Python uses dynamic types, suitable for scientific computing and data analysis. 2. JavaScript adopts weak types and is widely used in front-end and full-stack development. The two have their own advantages in asynchronous programming and performance optimization, and should be decided according to project requirements when choosing.

Python vs. JavaScript: Choosing the Right Tool for the JobPython vs. JavaScript: Choosing the Right Tool for the JobMay 08, 2025 am 12:10 AM

Whether to choose Python or JavaScript depends on the project type: 1) Choose Python for data science and automation tasks; 2) Choose JavaScript for front-end and full-stack development. Python is favored for its powerful library in data processing and automation, while JavaScript is indispensable for its advantages in web interaction and full-stack development.

Python and JavaScript: Understanding the Strengths of EachPython and JavaScript: Understanding the Strengths of EachMay 06, 2025 am 12:15 AM

Python and JavaScript each have their own advantages, and the choice depends on project needs and personal preferences. 1. Python is easy to learn, with concise syntax, suitable for data science and back-end development, but has a slow execution speed. 2. JavaScript is everywhere in front-end development and has strong asynchronous programming capabilities. Node.js makes it suitable for full-stack development, but the syntax may be complex and error-prone.

JavaScript's Core: Is It Built on C or C  ?JavaScript's Core: Is It Built on C or C ?May 05, 2025 am 12:07 AM

JavaScriptisnotbuiltonCorC ;it'saninterpretedlanguagethatrunsonenginesoftenwritteninC .1)JavaScriptwasdesignedasalightweight,interpretedlanguageforwebbrowsers.2)EnginesevolvedfromsimpleinterpreterstoJITcompilers,typicallyinC ,improvingperformance.

JavaScript Applications: From Front-End to Back-EndJavaScript Applications: From Front-End to Back-EndMay 04, 2025 am 12:12 AM

JavaScript can be used for front-end and back-end development. The front-end enhances the user experience through DOM operations, and the back-end handles server tasks through Node.js. 1. Front-end example: Change the content of the web page text. 2. Backend example: Create a Node.js server.

Python vs. JavaScript: Which Language Should You Learn?Python vs. JavaScript: Which Language Should You Learn?May 03, 2025 am 12:10 AM

Choosing Python or JavaScript should be based on career development, learning curve and ecosystem: 1) Career development: Python is suitable for data science and back-end development, while JavaScript is suitable for front-end and full-stack development. 2) Learning curve: Python syntax is concise and suitable for beginners; JavaScript syntax is flexible. 3) Ecosystem: Python has rich scientific computing libraries, and JavaScript has a powerful front-end framework.

JavaScript Frameworks: Powering Modern Web DevelopmentJavaScript Frameworks: Powering Modern Web DevelopmentMay 02, 2025 am 12:04 AM

The power of the JavaScript framework lies in simplifying development, improving user experience and application performance. When choosing a framework, consider: 1. Project size and complexity, 2. Team experience, 3. Ecosystem and community support.

The Relationship Between JavaScript, C  , and BrowsersThe Relationship Between JavaScript, C , and BrowsersMay 01, 2025 am 12:06 AM

Introduction I know you may find it strange, what exactly does JavaScript, C and browser have to do? They seem to be unrelated, but in fact, they play a very important role in modern web development. Today we will discuss the close connection between these three. Through this article, you will learn how JavaScript runs in the browser, the role of C in the browser engine, and how they work together to drive rendering and interaction of web pages. We all know the relationship between JavaScript and browser. JavaScript is the core language of front-end development. It runs directly in the browser, making web pages vivid and interesting. Have you ever wondered why JavaScr

See all articles

Hot AI Tools

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.

Undress AI Tool

Undress AI Tool

Undress images for free

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 Article

Hot Tools

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor