


How to Select the First Occurrence of a Specific Class Element in Varying Structures?
Selecting the First Occurrence of a Specific Class Element
Selecting the first occurrence of a particular class element can be challenging when the structure and element count within the parent element vary. In this case, the issue arises while attempting to select the first element with class 'A' within an element with id or class 'B'.
Overcoming the Challenge with CSS3
CSS3 offers the :first-of-type pseudo-class, which targets the first element of a specific type among its siblings. However, there is no equivalent :first-of-class pseudo-class.
A Workaround Solution
As a workaround, one can utilize the general sibling combinator (~) and apply an overriding rule to "undo" the original styles applied to all .A elements within the .C element.
The CSS Code
The following CSS code provides the solution:
.C > * > .A { /* Style every .A that's a grandchild of .C */ } .C > * > .A ~ .A { /* Override styles only for .A elements following the first .A child */ }
This code applies styles to all .A elements that are grandchildren of .C. Additionally, it overrides the styles for subsequent .A elements that follow the first .A child of each element underneath .C.
Example Illustration
Consider the following HTML structure:
<div class="C"> <div class="B"> <div class="A">Content</div> <div class="A">Content</div> </div> </div>
In this scenario:
- The first .A element would receive the styles applied by the first rule.
- The second .A element, following the first one, would receive the overridden styles applied by the second rule.
Browser Compatibility
The ~ selector is recognized by IE7 and above, which means that this solution is widely supported. The only major browser it fails on is IE6.
By implementing this workaround, developers can selectively target and style the first occurrence of a specific class element, even when the structure and element count within the parent element vary.
The above is the detailed content of How to Select the First Occurrence of a Specific Class Element in Varying Structures?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











Have you ever needed a countdown timer on a project? For something like that, it might be natural to reach for a plugin, but it’s actually a lot more

Everything you ever wanted to know about data attributes in HTML, CSS, and JavaScript.

At the start of a new project, Sass compilation happens in the blink of an eye. This feels great, especially when it’s paired with Browsersync, which reloads

One thing that caught my eye on the list of features for Lea Verou's conic-gradient() polyfill was the last item:

The inline-template directive allows us to build rich Vue components as a progressive enhancement over existing WordPress markup.

Let’s attempt to coin a term here: "Static Form Provider." You bring your HTML

Every time I start a new project, I organize the code I’m looking at into three types, or categories if you like. And I think these types can be applied to

PHP templating often gets a bad rap for facilitating subpar code — but that doesn't have to be the case. Let’s look at how PHP projects can enforce a basic
