The difference between one colon (:) and two colons (::) in CSS
Recommended: css video tutorial
One colon is a pseudo-class, two colons are pseudo-elements
Pseudo classes can assign styles independently of the elements of the document and can be assigned to any element. They are logically similar to functional classes, but they are predefined and do not exist in the document. The expression methods are different in the tree, so they are called pseudo-classes.
The content controlled by a pseudo element is the same as the content controlled by an element, but the pseudo element does not exist in the document tree and is not a real element, so it is called a pseudo element.
Pseudo classes include: :first-child , :link:, visited, :hover:, active:focus, :lang
Pseudo elements include: :first-line, :first-letter, :before, :after (in CSS2 compiled by Su Chen Xiaoyu .0 In the Chinese manual, :first-line and :first-letter are listed as pseudo-classes, which should be a misunderstanding)
Reminder, if your website only needs to be compatible with webkit, firefox , opera and other browsers, it is recommended to use double colon writing method for pseudo elements. If you have to be compatible with IE browser, it is safer to use CSS2 single colon writing method
The difference between pseudo-classes and pseudo-elements:
##Pseudo-class
The pseudo-class selection element is based on the current state of the element, or the current characteristics of the element, rather than static signs such as the element's id, class, and attributes. Since the state changes dynamically, when an element reaches a specific state, it may get a pseudo-class style; when the state changes, it will lose this style. It can be seen from this that its function is somewhat similar to that of class, but it is based on abstraction outside of the document, so it is called a pseudo class.
:link
pseudo-class will be applied to links that have not been visited, the same as :visited Mutually exclusive.
:hover
Pseudo class will be applied to the element that the mouse pointer is hovering over.
:active
Pseudo class will be applied to activated elements, such as clicked links, pressed button etc.
:visited
pseudo-class will be applied to links that have been visited, with :linkMutually exclusive.
:focus
Pseudo class will be applied to the element that has keyboard input focus.
:first-child
The pseudo-class will be applied when the element first appears on the page.
:lang
pseudo-class will be applied to elements with the specified lang.
Pseudo-elements
#Different from pseudo-classes that target elements in a special state, pseudo-elements target specific content in the element. When operating, the level it operates is one level deeper than that of pseudo-classes, and therefore its dynamic nature is much lower than that of pseudo-classes. In fact, the purpose of designing pseudo-elements is to select the first letter (letter) and first line of element content, and select the front or back of certain content, which is something that ordinary selectors cannot do. The content it controls is actually the same as the element, but it is only an abstraction based on the element and does not exist in the document, so it is called a pseudo element.
::first-letter
The style of the pseudo-element will be applied to the first letter of the element's text ( mother).
::first-line
The style of the pseudo-element will be applied to the first line of the element's text.
::before
Add new content at the front of the element content.
::after
Add new content at the end of the element content.
::before and : :after is usually used with CSS content generation.
For more programming-related knowledge, please visit: Programming Teaching! !
The above is the detailed content of The difference between one colon (:) and two colons (::) in CSS. For more information, please follow other related articles on the PHP Chinese website!

I think the :placeholder-shown selector is tremendously cool. It allows you to select the placeholder of an input () when that placeholder is present.

Here’s the trick: by combining the Turkish letter "ı" and the period "." we can create something that looks like the letter "i," but is made from two separate

In this week's roundup: "Add to home screen" has different meanings in Android, Chrome and Edge add some pop to focus rectangles on form inputs, and how

Who loves charts? Everyone, right? There are lots of ways to create them, including a number of libraries. There’s D3.js, Chart.js, amCharts, Highcharts, and

Third-party cookies are set on your computer from domains other than the one that you're actually on right now. For example, if I log into css-tricks.com,

At a recent conference talk (sorry, I forget which one), there was a quick example of poor web performance in the form of a third-party widget. The example

WebPageTest is an online tool and an Open Source project to help developers audit the performance of their websites. As a Web Performance Evangelist at

Say you have page that has a bunch of transitions and animations on all sorts of elements. Some of them get triggered when the window is resized because they


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

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Dreamweaver CS6
Visual web development tools

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.

SublimeText3 Linux new version
SublimeText3 Linux latest version

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

WebStorm Mac version
Useful JavaScript development tools