Home > Article > Web Front-end > Detailed explanation of the use of CSS cascading mechanism
This time I will bring you a detailed explanation of the use of the CSS cascading mechanism. What are the precautions for using the CSS cascading mechanism? Here are practical cases, let’s take a look.
Why is there a cascading mechanism in css
Because there may be multiple styles in css that affect a certain attribute of the same element at the same time , the cascading mechanism can resolve style conflicts between authors (people who write code), users (people who browse pages) and user agents (generally referred to as browsers).
Each style rule in the cascade has a weight value. When several of the rules take effect at the same time, the rule with the largest weight takes precedence. Generally speaking, the style weight value specified by the author is higher than the user style weight value, and the user style weight value is higher than the client (user agent) weight value. General weight value and object, whether there is! important, specificity is related to position. In the cascading order, the following weight values are from small to large
(1) User agent style
(2) User general style
(3) Author general style
(4) Author important style (!important)
(5) User important style (!important)
(6) If two styles come from the same code, such as both From the author (code), and their style declarations are equally important, they are calculated according to the specificity. The ones with high specificity will cover the
with low specificity (7) If the specificity is also the same, the further back The higher the priority of the style
Why the important styles set by the user have a higher priority than the important styles of the author? The reason for this is to facilitate the user to implement some special requirements, such as adjusting the page font size, etc. .
Calculation of selector specificity
(1) If a declaration appears in the style attribute of an element, then a Counted as 1;
(2)b is equal to the total number of all ID selectors in the selector and
(3)c is equal to all class selectors and attribute selectors in the selector, And the sum of the sum of the pseudo-class selectors
(4) d is equal to the sum of the sum of all label selectors and pseudo-element selectors in the selector
a-b-c-d is the selector Specificity, the comparison order starts from a first, and whoever is greater first will have a higher priority.
Note:
inheritance has the lowest priority and has no specificity
combining characters (eg, >) and The specificity of the universal selector (*) is 0
.box{} /*特异度=0,0,1,0*/ .box p{} /*特异度=0,0,1,1*/ #nav li{} /*特异度=0,1,0,1*/ p:first-line{} /*特异度=0,0,0,2*/ /*特异度=1,0,0,0*/
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the PHP Chinese website!
Recommended reading:
Detailed analysis of webpack style loading
##20 CSS code usage precautions in front-end practical projects
The above is the detailed content of Detailed explanation of the use of CSS cascading mechanism. For more information, please follow other related articles on the PHP Chinese website!