Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The :-moz-first-node CSS pseudo-class is a Mozilla extension that represents any element that is the first child node of some other element. It differs from :first-child because it does not match a first-child element with (non-whitespace) text before it.
Note: Any whitespace at the start of an element is ignored for the determination of :-moz-first-node.
:-moz-first-node {
/* ... */
}
span:-moz-first-node {
background-color: lime;
}
<p> <span>This matches!</span> <span>This doesn't match.</span> </p> <p> Blahblah. <span>This doesn't match because it's preceded by text.</span> </p>
Not part of any standard.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
:-moz-first-node |
No | No | 55 | No | No | No | 55 | No | No | No | No | No |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-first-node