InfoHeap
Tech
Navigation
  • Home
  • Tutorials
    • CSS tutorials & examples
    • CSS properties
    • Javascript cookbook
    • Linux/Unix Command Line
    • Mac
    • PHP
      • PHP functions online
      • PHP regex
    • WordPress
  • Online Tools
    • Text utilities
    • Online Lint Tools
search

CSS selectors

    Simple Selectors

    • type selectors
    • universal selector (*)
    • attribute presence and value selectors
    • attribute substring selectors
    • class selectors
    • two classes (.c1.c2)
    • id selectors

    Pseudo-classes

    • :link
    • :visited
    • :hover
    • :active
    • :focus
    • :target
    • :lang
    • :enabled and :disabled
    • :checked
    • :root
    • :nth-child
    • :nth-of-type
    • :nth-child vs :nth-of-type
    • :nth-last-child
    • :nth-last-of-type
    • :first-child
    • :first-of-type
    • :last-child
    • :last-of-type
    • :only-child
    • :only-of-type
    • :empty
    • :not

    Pseudo-elements

    • ::first-line
    • ::first-letter
    • ::before and ::after
    • ::placeholder

    Combinators

    • child vs descendant selector
    • adjacent sibling selector (E1 + E2)
    • general sibling selector (E1 ~ E2)

    Specificity

    • Selector specificity
     
    • Home
    • > Tutorials
    • > CSS
    • > CSS selectors

    Css :nth-child vs :nth-of-type

    By admin on Jan 24, 2016

    Css :nth-child and :nth-of-type pseudo classes look very similar initially. But these are slightly different. Few points to explain the difference:

    1. :nth-child considers all sibling dom elements for counting (irrespective of type). e.g. if p has siblings div, span, p, etc., :nth-child on p will consider its all siblings when counting.
    2. :nth-of-type considers sibling dom elements of only same type for counting. e.g. if p has siblings div, span, p, etc., :nth-of-type on p will only consider p siblings when counting.

    css-nth-child-vs-nth-of-type

    Example of :nth-child

    Using :nth-child change background p element if it is at 2nd position in all its siblings.

    <style type="text/css" media="screen">
    .foo > p:nth-child(2) {
      background-color:lightgreen;
    }
    </style>
    <div class="foo">
      <div>div1</div>
      <p>p1</p>
      <p>p2</p>
      <p>p3</p>
      <div><p>in_div_p1</p><p>in_div_p2</p></div>
    </div>
    refresh done
    try it online

    Few points to note:

    1. Here the :nth-child pseudo class style applies to all p direct child elements of div of class foo.
    2. The counting is done considering all dom siblings of any type in the container
    3. Since we used direct child selector using (.foo > p:nth-child(2)) nested <p> elements are unaffected. For more information you can see CSS – direct child vs any descendant selector.

    Example of :nth-of-type

    Using :nth-of-type change background p element if it is at 2nd position in its p siblings.

    <style type="text/css" media="screen">
    .bar > p:nth-of-type(2) {
      background-color:lightgreen;
    }
    </style>
    <div class="bar">
      <div>div1</div>
      <p>p1</p>
      <p>p2</p>
      <p>p3</p>
      <div><p>in_div_p1</p><p>in_div_p2</p></div>
    </div>
    refresh done
    try it online

    Few points to note:

    1. Here also the :nth-of-type pseudo class style applies to all p direct child elements of div of class foo.
    2. The counting is done considering only dom siblings of p type in the container.
    3. Since we used direct child selector using (.foo > p:nth-child(2)) nested <p> elements are unaffected. For more information you can see CSS – direct child vs any descendant selector.

    Suggested posts:

    1. Css :last-child selector – last child element
    2. CSS border radius and round corners examples
    3. CSS :not – negation pseudo-class
    4. CSS :nth-last-child
    5. CSS ::before and ::after examples
    6. PHP regex – word boundary examples
    7. CSS :only-child – define style if element if only child
    8. Vim – how to change current character case to uppercase or lowercase
    Share this article: share on facebook share on linkedin tweet this submit to reddit
    Posted in Tutorials | Tagged CSS, CSS Pseudo Classes, CSS selectors, CSS3, Tutorials
    • Browse content
    • Article Topics
    • Article archives
    • Contact Us
    Popular Topics: Android Development | AngularJS | Apache | AWS and EC2 | Bash shell scripting | Chrome developer tools | Company results | CSS | CSS cookbook | CSS properties | CSS Pseudo Classes | CSS selectors | CSS3 | CSS3 flexbox | Devops | Git | HTML | HTML5 | Java | Javascript | Javascript cookbook | Javascript DOM | jQuery | Kubernetes | Linux | Linux/Unix Command Line | Mac | Mac Command Line | Mysql | Networking | Node.js | Online Tools | PHP | PHP cookbook | PHP Regex | Python | Python array | Python cookbook | SEO | Site Performance | SSH | Ubuntu Linux | Web Development | Webmaster | Wordpress | Wordpress customization | Wordpress How To | Wordpress Mysql Queries | InfoHeap Money

    Copyright © 2025 InfoHeap.

    Powered by WordPress