


Detailed introduction to pseudo-classes and pseudo-elements in CSS (code examples)
This article brings you a detailed introduction (code example) about pseudo-classes and pseudo-elements in CSS. It has certain reference value. Friends in need can refer to it. I hope It will help you.
1. Pseudo-classes
Pseudo-classes include two types:State pseudo-class(UI pseudo-class) andStructural pseudo-class .
(1) The status pseudo-class is selected based on the current status of the element.
The state of an element changes dynamically during interaction with the user, so the element will present different styles according to its state. This style will appear when the element is in a certain state, and will be lost when it enters another state.
Common status pseudo-classes mainly include:
:link applies to links that have not been visited;
:hover applies to elements that the mouse is hovering over;
:active Applies to activated elements;
:visited applies to visited links, mutually exclusive with :link.
:focus applies to elements that have keyboard input focus.
:target applies to the element pointed to after the link is clicked
The first 4 pseudo-classes have the same specificity. If they are not used in the order listed here, the browser may not The expected results will be displayed. To make it easier to remember, think of it this way: "LoVe? HA!" The capital letter is the first letter of each pseudo-class.
input:focus {border:1px solid blue;}
When the cursor is in the input field, a blue border will be added to the field. This allows the user to clearly
know where the entered characters will appear.
<a>More Information</a> <h2 id="This-is-the-information-you-are-looking-for">This is the information you are looking for.</h2> #more_info:target {background:#eee;}
will add a light gray background to the element when the user clicks the link to redirect to the element with the ID more_info.
(2) Structural pseudo-class is a new selector in CSS3
Use the dom tree to filter elements and match elements through the mutual relationship of the document structure, which can reduce the definition of class and id attributes , making the document structure more concise.
Common ones include:
:first-child selects the first child element of an element;
:last-child selects the last child element of an element;
:nth-child() selects one or more specific child elements of an element;
:nth-last-child() selects one or more specific child elements of an element, starting from Counting starts from the last child element;
:nth-of-type() selects the specified element;
:nth-last-of-type() selects the specified element and starts counting from the last element;
:first-of-type selects the first similar child element under a superior element;
:last-of-type selects the last similar child element of a superior element;
:only-child selected The element is the only child element of its parent element;
:only-of-type selects an element that is the only child element of the same type as its parent element;
:empty There is no content in the selected element .
2. Pseudo elements
Pseudo elements operate on specific content in the element rather than describing the state. Its operation level is one level deeper than pseudo-classes, so its dynamicity is much lower than pseudo-classes. In fact, pseudo-elements are things that cannot be done by ordinary selectors before or after certain elements. The content of the control is the same as the element, but it itself is an abstraction based on the element and does not exist in the document structure!
Common pseudo-element selectors include:
:first-letter selects the first letter (letter) of the element text.
:first-line selects the first line of element text.
:before Add new content at the front of the element content.
:after adds new content at the end of the element content.
3. Note
Single colon (:) is used for CSS3 pseudo-classes, and double colon (::) is used for CSS3 pseudo-elements. In order to be compatible with some browsers , generally single colon
is used. Compatibility issues are left to postcss. This article does not cover compatibility writing methods, including prefix issues, which can be left to autoprefixer. (I don’t understand what this sentence means. Let’s take a look at it later)
The effect of pseudo-class (structural pseudo-class) can be achieved by adding an actual class, while the effect of pseudo-element needs to be achieved by adding An actual element can be achieved, which is why one of them is called a pseudo-class and the other is called a pseudo-element.
4. Use of pseudo-elements
(1) Clear float
.clear:after { content: ''; display: block; clear: both; }
(2) Draw dividing line
<style> * { padding: 0; margin: 0; } .spliter::before, .spliter::after { content: ''; display: inline-block; border-top: 1px solid black; width: 200px; margin: 5px; } </style> <p>分割线</p>
The above is the detailed content of Detailed introduction to pseudo-classes and pseudo-elements in CSS (code examples). For more information, please follow other related articles on the PHP Chinese website!

Choosing Flexbox or Grid depends on the layout requirements: 1) Flexbox is suitable for one-dimensional layouts, such as navigation bar; 2) Grid is suitable for two-dimensional layouts, such as magazine layouts. The two can be used in the project to improve the layout effect.

The best way to include CSS files is to use tags to introduce external CSS files in the HTML part. 1. Use tags to introduce external CSS files, such as. 2. For small adjustments, inline CSS can be used, but should be used with caution. 3. Large projects can use CSS preprocessors such as Sass or Less to import other CSS files through @import. 4. For performance, CSS files should be merged and CDN should be used, and compressed using tools such as CSSNano.

Yes,youshouldlearnbothFlexboxandGrid.1)Flexboxisidealforone-dimensional,flexiblelayoutslikenavigationmenus.2)Gridexcelsintwo-dimensional,complexdesignssuchasmagazinelayouts.3)Combiningbothenhanceslayoutflexibilityandresponsiveness,allowingforstructur

What does it look like to refactor your own code? John Rhea picks apart an old CSS animation he wrote and walks through the thought process of optimizing it.

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For

@keyframesispopularduetoitsversatilityandpowerincreatingsmoothCSSanimations.Keytricksinclude:1)Definingsmoothtransitionsbetweenstates,2)Animatingmultiplepropertiessimultaneously,3)Usingvendorprefixesforbrowsercompatibility,4)CombiningwithJavaScriptfo

CSSCountersareusedtomanageautomaticnumberinginwebdesigns.1)Theycanbeusedfortablesofcontents,listitems,andcustomnumbering.2)Advancedusesincludenestednumberingsystems.3)Challengesincludebrowsercompatibilityandperformanceissues.4)Creativeusesinvolvecust

Using scroll shadows, especially for mobile devices, is a subtle bit of UX that Chris has covered before. Geoff covered a newer approach that uses the animation-timeline property. Here’s yet another way.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

SublimeText3 Linux new version
SublimeText3 Linux latest version

WebStorm Mac version
Useful JavaScript development tools
