py-1 [&>p]:inline
This article explains the CSS utility-like snippet py-1 [&>p]:inline, what it does, when to use it, and how to implement equivalent behavior in plain CSS and common frameworks. I assume this syntax is coming from a utility-first CSS tool (like Tailwind CSS with JIT/variant grouping or a similar utility generator) that supports arbitrary selectors or nested-group variants.
What the snippet means (concise)
- py-1 — shorthand for
padding-top: 0.25rem; padding-bottom: 0.25rem;(Tailwind default spacing scale; actual value depends on your framework). - [&>p]:inline — a grouped variant applying
display: inline;to direct childelements of the element that has this utility.
Put together: give the element vertical padding of 1 unit while forcing any direct child paragraph elements to render as inline.
Practical effect
- Container gets small vertical padding.
- Direct child paragraphs (
> p) become inline-level elements rather than block-level, so they flow inline with surrounding inline content and won’t introduce line breaks.
Example HTML (using assumed utility framework)
This paragraph will render inline.
This one also — they will not create block breaks.
Rendered result: both
elements behave like inline elements, so their content runs inline within the container.
Plain CSS equivalent
If you don’t have the utility that supports the grouped selector variant, use CSS:
.container {
padding-top: 0.25rem;
padding-bottom: 0.25rem;
}
.container > p {
display: inline;
}
HTML:
Inline paragraph
Another inline paragraph
When to use this pattern
- You need semantic
tags (for accessibility or semantics) but want inline flow (e.g., short tag-like phrases separated by spaces).
- Temporarily overriding default block behavior without changing markup.
- Styling tight inline lists or metadata where paragraphs are used as logical groupings.
Caveats and alternatives
- Inline paragraphs lose block-level semantics (margins, full-width behavior). Use inline-block if you need width/margins.
- Consider using spans or / if semantic meaning doesn’t require
.
Quick variants
- Use
display: inline-block;instead ofinlineif you need dimensions. - Use
.container > p { display: inline; }together with vertical-align adjustments when mixing with other inline elements.
Leave a Reply