Detailed CSS Properties-the difference between pseudo-class and pseudo-elements (no more concept blindness!!!) )

Source: Internet
Author: User

First, read the w3c definition of both:

      • css   Pseudo-classes are used to add special effects to certain selectors.
      • css   Pseudo elements are used to add special effects to certain selectors.

Can be clear two points, the first two are related to selectors, the second is to add some "special" effect. The special point here is that the two describe css something else that cannot be described.

Pseudo-Class types

Pseudo element Kind

Difference

This :first-child is compared by pseudo-class and pseudo :first-letter -elements.

{color: Red} <p>    <i>first</i>    <i>second</i></p>
Pseudo-Class :first-child adds a style to the first child element

If we do not use pseudo-classes and want to achieve the above effects, we can do this:

{color: Red} <p>    <i class= "First-child" >first</i>    <i>second</i></p>
That is, we add a class to the first child element and then define the style of the class. So let's take a look at the element:
{color: Red} <p>i am Stephen Lee.</p>

Pseudo elements :first-letter add style to first letter

So if we do not use pseudo-elements, to achieve the above effect, what should be done?

{color: Red} <p>     <span class= ' first-letter ' >I</span>      am Stephen Lee.</p>

That is, we add one to the first letter and span then give the span added style.

The difference between the two has come out. That is:

The effect of a pseudo-class can be achieved by adding an actual class, while the effect of the pseudo-element needs to be achieved by adding an actual element, which is why they are called pseudo-classes, a pseudo-element.

Summarize

Pseudo-elements and pseudo-classes are so easily confused because they are similar in effect, but in fact css3 , in order to differentiate between them, it is clear that pseudo-classes are represented by a colon, while pseudo-elements are represented by two colons.

:P seudo-classes::P seudo-elements

But because of the compatibility problem, so now most of the unified single colon, but aside from the problem of compatibility, we should try to develop good habits when writing, to distinguish between the two.

Detailed CSS Properties-the difference between pseudo-class and pseudo-elements (no more concept blindness!!!) )

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.