Home >Web Front-end >CSS Tutorial >How can I style elements with the same class name based on their position within the DOM?
Challenge: Selectively style elements with the same class name based on their position, regardless of their location in the markup.
Solution: Utilize nth-child() or nth-of-type() pseudo-selectors to target elements according to their ordinal position within a parent element.
The nth-child(n) pseudo-selector allows you to style an element that is the nth child of its parent. For instance, to target the first element with class "myclass":
<code class="css">.parent_class:nth-child(1) { color: #000; }</code>
To target the second and third elements, use the following selectors:
<code class="css">.parent_class:nth-child(2) { color: #FFF; } .parent_class:nth-child(3) { color: #006; }</code>
The nth-of-type(n) pseudo-selector functions similarly to nth-child(), but it selects elements based on their type within their parent. This is useful when you have multiple elements of the same type within a parent:
<code class="css">.myclass:nth-of-type(1) { color: #000; } .myclass:nth-of-type(2) { color: #FFF; } .myclass:nth-of-type(3) { color: #006; }</code>
Example HTML:
<code class="html"><div class="parent_class"> <div class="myclass">my text1</div> <!-- Other code --> <div class="myclass">my text2</div> <!-- Other code --> <div class="myclass">my text3</div> <!-- Other code --> </div></code>
The above is the detailed content of How can I style elements with the same class name based on their position within the DOM?. For more information, please follow other related articles on the PHP Chinese website!