everything about web

A Comprehensive Guide to the World of Web Design & Development:

CSS, HTML, Performance, Web Design, and all Aspects of Front-End Development

Advertisements

CSS: Quick Examples for first-letter, first-line and More

How to customize the first letter, first line, first child, and first type from a parent block-level element
  1. ::first-letter
  2. ::first-line
  3. ::first-letter + ::first-line
  4. :first-of-type
  5. :first-child
  6. Differences between :first-of-type vs :first-child
    1. Example for :first-of-type
    2. Example for :first-child
  7. When to use double-colon notation (::) or single-colon notation (:)

::first-letter

::first-letter is a CSS pseudo-element*1 used to customize CSS styling of the first letter within a block-level element.

CSS pseudo-element ::first-letter

CSS:

div{
    font-size: 15px;
    line-height:1.5em;
    padding: 20px;
    font-family: serif;
}
div::first-letter{
    color: #ff9800;
	font-size: 3em;
	font-weight: bold;
    text-shadow: 2px 2px #C97373;
}

HTML:

<div>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sed scelerisque erat estibulum turpis mauris, imperdiet vel purus a, porttitor maximus felis. 
    <br>
    Ut dignissim sem nec volutpat efficitur. 
    <br>
    Nullam nec sapien nec magna fringilla finibus.
</div>
    
<div>
    Quisque nec purus tortor. Aliquam convallis purus in ultrices placerat. Praesent sed eros molestie eros euismod euismod. Donec mattis suscipit hendrerit. Sed ac ex pretium, viverra justo vitae, dapibus sem. 
    <br>
    Proin fringilla tempus mi eget commodo. Ut non ante ex. Curabitur iaculis hendrerit diam, a commodo dolor condimentum sed. Aliquam non nisi efficitur 
</div>

Result:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sed scelerisque erat estibulum turpis mauris, imperdiet vel purus a, porttitor maximus felis.
Ut dignissim sem nec volutpat efficitur.
Nullam nec sapien nec magna fringilla finibus.
Quisque nec purus tortor. Aliquam convallis purus in ultrices placerat. Praesent sed eros molestie eros euismod euismod. Donec mattis suscipit hendrerit. Sed ac ex pretium, viverra justo vitae, dapibus sem.
Proin fringilla tempus mi eget commodo. Ut non ante ex. Curabitur iaculis hendrerit diam, a commodo dolor condimentum sed. Aliquam non nisi efficitur

::first-line

::first-line is a CSS pseudo-element*1 used to customize CSS styling of the first line of a paragraph within a block-level element.

CSS pseudo-element ::first-line

CSS:

div{
    font-size: 15px;
    line-height:1.5em;
    padding: 20px;
}
div::first-line{
    color: #fff;
	background: #061A25;
}

HTML:

<div>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sed scelerisque erat estibulum turpis mauris, imperdiet vel purus a, porttitor maximus felis. 
    <br>
    Ut dignissim sem nec volutpat efficitur. 
    <br>
    Nullam nec sapien nec magna fringilla finibus.
</div>
    
<div>
    Quisque nec purus tortor. Aliquam convallis purus in ultrices placerat. Praesent sed eros molestie eros euismod euismod. Donec mattis suscipit hendrerit. Sed ac ex pretium, viverra justo vitae, dapibus sem. 
    <br>
    Proin fringilla tempus mi eget commodo. Ut non ante ex. Curabitur iaculis hendrerit diam, a commodo dolor condimentum sed. Aliquam non nisi efficitur 
</div>

Result:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sed scelerisque erat estibulum turpis mauris, imperdiet vel purus a, porttitor maximus felis.
Ut dignissim sem nec volutpat efficitur.
Nullam nec sapien nec magna fringilla finibus.
Quisque nec purus tortor. Aliquam convallis purus in ultrices placerat. Praesent sed eros molestie eros euismod euismod. Donec mattis suscipit hendrerit. Sed ac ex pretium, viverra justo vitae, dapibus sem.
Proin fringilla tempus mi eget commodo. Ut non ante ex. Curabitur iaculis hendrerit diam, a commodo dolor condimentum sed. Aliquam non nisi efficitur

::first-letter + ::first-line

If you apply ::first-letter and ::first-line together, styling from ::first-letter will have higher priority and it will overwrite styling from the ::first-line.

CSS:

div{
    font-size: 15px;
    line-height:1.5em;
    padding: 20px;
}
div::first-letter{
    color: #ff9800;
	font-size: 3em;
	font-weight: bold;
    text-shadow: 2px 2px #C97373;
}
div::first-line{
    color: #fff;
	background: #061A25;
}

HTML:

<div>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sed scelerisque erat estibulum turpis mauris, imperdiet vel purus a, porttitor maximus felis. 
    <br>
    Ut dignissim sem nec volutpat efficitur. 
    <br>
    Nullam nec sapien nec magna fringilla finibus.
</div>
    
<div>
    Quisque nec purus tortor. Aliquam convallis purus in ultrices placerat. Praesent sed eros molestie eros euismod euismod. Donec mattis suscipit hendrerit. Sed ac ex pretium, viverra justo vitae, dapibus sem. 
    <br>
    Proin fringilla tempus mi eget commodo. Ut non ante ex. Curabitur iaculis hendrerit diam, a commodo dolor condimentum sed. Aliquam non nisi efficitur 
</div>

Result:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sed scelerisque erat estibulum turpis mauris, imperdiet vel purus a, porttitor maximus felis.
Ut dignissim sem nec volutpat efficitur.
Nullam nec sapien nec magna fringilla finibus.
Quisque nec purus tortor. Aliquam convallis purus in ultrices placerat. Praesent sed eros molestie eros euismod euismod. Donec mattis suscipit hendrerit. Sed ac ex pretium, viverra justo vitae, dapibus sem.
Proin fringilla tempus mi eget commodo. Ut non ante ex. Curabitur iaculis hendrerit diam, a commodo dolor condimentum sed. Aliquam non nisi efficitur

:first-of-type

:first-of-type is a CSS pseudo-class used to select the first element of a particular type from its parent.

CSS pseudo-class:first-of-type

CSS:

div{
    font-size: 15px;
    line-height:1.5em;
    padding: 20px;
}
div sup:first-of-type {
  background-image: linear-gradient(to right, #8b0000 , #ff9800);
  color: white;
  padding: 0 4px;
}

HTML:

<div> 
 Winner <br>
 <sup>1st Prize</sup> Adam <br>
 <sup>2nd Prize</sup> Tony <br>
 <sup>3rd Prize</sup> Sara <br>
</div>

Result:

Winner
1st Prize Adam
2nd Prize Tony
3rd Prize Sara

:first-child

:first-child is a CSS pseudo-class used to select a specified selector of an element that is the first child from its parent.

CSS pseudo-class:first-child

CSS:

div{
   font-size: 15px;
   line-height:1.5em;
   padding: 20px;
}
div p:first-child {
   color: #fff;
   background: #061A25;
}

HTML:

<div> 
 <p><em>The first paragraph -</em>  Lorem ipsum dolor sit amet, consectetur adipiscing elit. In luctus egestas consequat.</p>
 <p><em>The second paragraph -</em>  Lorem ipsum dolor sit amet, consectetur adipiscing elit. In luctus egestas consequat.</p>
 <p><em>The third paragraph -</em>  - Lorem ipsum dolor sit amet, consectetur adipiscing elit. In luctus egestas consequat.</p>
</div>

Result:

The first paragraph – Lorem ipsum dolor sit amet, consectetur adipiscing elit. In luctus egestas consequat.

The second paragraph – Lorem ipsum dolor sit amet, consectetur adipiscing elit. In luctus egestas consequat.

The third paragraph – – Lorem ipsum dolor sit amet, consectetur adipiscing elit. In luctus egestas consequat.

Differences between :first-of-type vs :first-child

In this example, :first-of-type will select the first <p> element from its parent while :first-child will only select the first <p> element which is also the first child from its parent.

Example for :first-of-type
div p:first-child {
   color: #fff;
   background: #061A25;
}

<div> 
 <strong>The first child : Title</strong>
 <p>The second child : The first &lt;p/&gt; element from its parent.</p>
 <p>The third child :The second &lt;p/&gt; element from its parent.</p>
 <p>The fourth child :The third &lt;p/&gt; element from its parent.</p>
</div>
The first child : Title

The second child : The first <p/> element from its parent.

The third child :The second <p/> element from its parent.

The fourth child :The third <p/> element from its parent.

Example for :first-child
div p:first-of-type {
   color: #fff;
   background: #ff9800;
}
<div> 
 <p>The first child + &lt;p/&gt; element from its parent.</p>
 <p>The second child + second &lt;p/&gt; element from its parent.</p>
 <p>The third child + third &lt;p/&gt; element from its parent.</p>
</div>

The first child + <p/> element from its parent.

The second child + second <p/> element from its parent.

The third child + third <p/> element from its parent.

When to use double-colon notation (::) or single-colon notation (:)

In CSS3, double & single colon are used to differentiate between pseudo-class and pseudo-elements.

For pseudo-element, use Double-colon notation (::).
Example, ::first-line, ::first-letter

For pseudo-class, use Single-colon notation (:).
Example, :first-of-type, :first-child

** for pseudo-element, browsers still accept :first-letter and :first-line in single-colon notation which was introduced earlier in CSS2. Both of them are working exactly the same as ::first-line and ::first-letter in double-colon notation.

** for pseudo-class, browsers will only accept Single-colon notation (:)

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

If you found this article helpful and would like to show your support, you can buy me a coffee using the link below. Thanks a bunch!

Choose an amount

$5.00
$10.00
$15.00

Or enter a custom amount

$

Thank you for your contribution!

Donate

Topics:

CSS (27) css pseudo (3) debug (2) design (4) fonts (2) html (6) image (8) layout (5) optimization (10) performance (9) responsive (8) Software-development (1)


Advertisements

Recent Post:

Advertisements

Related Posts

Advertisements
Advertisements
%d bloggers like this: