Understanding of CSS selector weight (personal test)

Understanding of CSS selector weight (personal test)


Copy code
The code is as follows:

<style type="text/css">
div.ui_infor p {font-size: 16px;}
.ui_infor p {font-size: 14px;}
</style>


Copy code
The code is as follows:

<div class="ui_infor">
<p>test of css</p>
</div>

In the above example, the final display effect is font-size: 16px, not the following font-size: 14px;
This combination of selectors has a quick method to judge:
0,0,0,0
The first digit represents the style written on the label, such as

Copy code
The code is as follows:

<p style="font-size: 14px;"></p>

The second digit represents the id selector, such as #demo {}
The third digit represents: class name (.demo {}) or pseudo class (:hover) or attribute selector [rel="xx"]
The fourth digit represents: tag selector p {}
Now let’s practice with the first example:

Copy code
The code is as follows:

div.ui_infor p {font-size: 16px;}

Its weights are: 0,0,1,2

Copy code
The code is as follows:

.ui_infor p {font-size: 14px;}

Its weights are: 0,0,1,1
Result: 0,0,1,2 > 0,0,1,1, so font-size: 16px is displayed;
Supplement: !important has the highest weight, so there is no need to judge, but it will cause a bug in IE-6 browser.
example:

Copy code
The code is as follows:

p {font-size: 18px !important;font-size: 12px;}

In IE-6 browser, font-size: 12px is displayed. Some information on the Internet says that IE-6 does not support !important, which is actually wrong.
Let’s look at an example:

Copy code
The code is as follows:

p {font-size: 18px !important;}
p {font-size: 12px;}

In IE-6, font-size: 18px is displayed, which means that IE-6 supports !important, but the performance is a bit weird. The weird thing is that the !important attribute is overwritten by the latter style with the same name.
For example, in the example p {font-size: 18px !important;font-size: 12px;}, font-size: 12px overrides font-size: 18px !important.
Using this quirk, you can implement "min-height" in IE-6 without using CSS_hack

Copy code
The code is as follows:

p { min-height: 50px; height:auto !important; height:50px;}

<<:  Introduction to the process of extending the boot partition in Kylin 4.0.2 (Ubuntu)

>>:  MySQL tutorial thoroughly understands stored procedures

Recommend

Realizing tree-shaped secondary tables based on angular

First look at the effect: Code: 1.html <div cl...

Solution to IDEA not being able to connect to MySQL port number occupation

I can log in to MYSQL normally under the command ...

Example code of the spread operator and its application in JavaScript

The spread operator allows an expression to be ex...

Specific use of Docker anonymous mount and named mount

Table of contents Data volume Anonymous and named...

Vue3 implements CSS infinite seamless scrolling effect

This article example shares the specific code of ...

MySQL transaction concepts and usage in-depth explanation

Table of contents The concept of affairs The stat...

Solution to inconsistent display of cursor size in input box

The cursor size in the input box is inconsistent T...

The connection between JavaScript constructors and prototypes

Table of contents 1. Constructors and prototypes ...

$nextTick explanation that you can understand at a glance

Table of contents 1. Functional description 2. Pa...

Solution to the problem of MySQL thread in Opening tables

Problem Description Recently, there was a MySQL5....

Vue realizes the product magnifying glass effect

This article example shares the specific code of ...

Introduction to the process of creating TCP connection in Linux system

Table of contents Steps to create TCP in Linux Se...

onfocus="this.blur()" is hated by blind webmasters

When talking about the screen reading software op...