CSS pseudo elements

Created By: chatGPT

CSS pseudo-elements allow you to style specific parts of an element without needing to add additional classes or IDs. They are prefixed with double colons (::) in the latest specifications, although the single colon (:) notation is still widely used for compatibility. Common pseudo-elements include ::before, ::after, ::first-letter, and ::first-line. These can help in adding decorative content or modifying existing content on a webpage.
p::first-line {
    font-weight: bold;
    color: blue;
}

h1::before {
    content: 'Welcome! ';
    font-style: italic;
}
The ::before and ::after pseudo-elements are particularly notable as they allow you to insert content before or after an element's content. You can style this content just like you would with normal content, but you must define the content property to display anything.
div::after {
    content: ' (Read more)';
    font-size: 12px;
    color: gray;
}
To ensure that your pseudo-elements are visually separated from the content, you might want to apply styles like padding or margin. You can also use them to create effects like icons or decorative elements without modifying the HTML structure.
li::before {
    content: '• ';
    color: green;
    font-size: 18px;
}
In some cases, you might want to emphasize the first letter of a paragraph or change the style of the first line. By using ::first-letter and ::first-line, you can achieve this easily. These pseudo-elements can enhance the typography of your text significantly.
p::first-letter {
    font-size: 2em;
    color: red;
}

p::first-line {
    font-weight: bold;
    text-transform: uppercase;
}
Introduction And SetupSelectorsType SelectorClass SelectorId SelectorAttribute SelectorsUniversal SelectorGrouping SelectorsCombinatorsDescendant CombinatorChild CombinatorAdjacent Sibling CombinatorGeneral Sibling CombinatorPseudo ClassesHoverNth ChildNth Of TypeFocusVisitedActiveFirst ChildLast ChildOnly ChildPseudo ElementsBeforeAfterFirst LetterFirst LineBox ModelMarginPaddingBorderWidthHeightBox SizingPositioningStaticRelativeAbsoluteFixedStickyZ IndexDisplayInlineBlockInline BlockFlexGridNoneFloatClearTypographyFont FamilyFont SizeFont WeightFont StyleLine HeightLetter SpacingText AlignText DecorationText TransformVertical AlignOverflowOverflow XOverflow YVisibilityClip PathBackgroundsBackground ColorBackground ImageBackground SizeBackground PositionBackground RepeatBackground AttachmentGradientsBordersBorder WidthBorder ColorBorder StyleBorder RadiusShadowsBox ShadowText ShadowFlexboxFlex DirectionJustify ContentAlign ItemsAlign SelfFlex GrowFlex ShrinkFlex BasisOrderGridGrid Template ColumnsGrid Template RowsGrid GapGrid Auto FlowAlign ContentCss VariablesCustom PropertiesAnimationKeyframesTransitionTransformRotateScaleTranslateSkewMedia QueriesMin WidthMax WidthOrientationAspect RatioUnitsPxEmRemVhVwPercentages