| type | Layout Pattern | |||||
|---|---|---|---|---|---|---|
| name | imposter | |||||
| title | imposter | |||||
| category | Overlay / Exception | |||||
| description | Place an overlay region over a parent without changing document order. | |||||
| aliases |
|
|||||
| primary_spatial_problem | Place an overlay region over a parent without changing document order. | |||||
| secondary_spatial_problems | none | |||||
| layout_axis | both | |||||
| content_shape | mixed | |||||
| responsiveness | fixed | |||||
| constraints | Uses only local class hooks and explicit layout constraints. | |||||
| scroll_ownership | No internal scroll container. | |||||
| source_lineage | https://every-layout.dev/layouts/ | |||||
| lifecycle | generated | |||||
| generated_from | scripts/generate-patterns.mjs, scripts/pattern-data.mjs |
Use this pattern when you need to place an overlay region over a parent without changing document order.
<section class="imposter_anchor" aria-label="Draft editor">
<p>Draft body text stays in normal document flow.</p>
<section class="imposter" aria-label="Modal placement">
<dialog open>Unsaved changes confirmation</dialog>
</section>
</section>.imposter_anchor {
position: relative;
}
.imposter {
display: grid;
inset: 0;
place-items: center;
position: absolute;
z-index: 1;
}position,display,inset,place-items,z-indexdefine the spatial behavior for this pattern.
- Removing
position,display,inset,place-items,z-indexchanges the pattern from its documented layout responsibility back toward ordinary flow or an unsafe fixed arrangement.
- fixed responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
- Keep the HTML class hooks and CSS selectors in one-to-one agreement.
No internal scroll container.
- Semantic role expectation: Preserve the HTML sample's landmark, list, navigation, form, figure, or article roles; layout classes must not replace semantic elements.
- DOM order expectation: Keep semantic elements, DOM order, reading order, and focus order independent from the visual placement created by the layout classes.
- Focus risk: Any interactive descendants follow DOM order; do not use this pattern to create a visual order that keyboard focus cannot follow.
- Scroll expectation: No internal scroll container.
- Cognitive risk: Low: the pattern should preserve ordinary reading flow when semantic order is already correct.
The CSS uses modern grid, flex, intrinsic sizing, logical properties, or positioning. If a target browser cannot support a property, fall back to ordinary block flow before adding decorative or script-driven layout behavior.
Use imposter as the stable pattern root and compose additional layout behavior outside that root unless the child class is part of the documented relationship.
- Do not add color, border, shadow, typography, or animation rules to reusable pattern CSS.
- Do not use this pattern to repair unclear HTML structure; make the DOM roles legible first.
Parent: Overlay / Exception patterns in Pattern Categories. Next: Layout Recipes for screen-level composition, or return to the Layout Pattern Catalog when choosing another primitive.