Imposter (<e-imposter>)
The e-imposter component positions its content outside the normal document flow, typically centered over its containing context using position: absolute. It now supports alignment using logical properties (alignBlock, alignInline) for 9 positions (start/center/end combinations). It can optionally be fixed to the viewport, break out of its container bounds, and have a margin from the aligned container edges. Useful for modals, popovers, etc.
Basic Usage
<div class="example-container" style="position: relative; min-height: 10em;"> <!-- position: relative is needed -->
<!-- Content underneath -->
<p>Some background content.</p>
<e-imposter margin="1rem">
<div class="example-item bg-example-neutral">
Overlay Content (with 1rem margin from edges)
</div>
</e-imposter>
</div>
Examples
Default Imposter (Centered):
This is the background content area.
Imposter Content (Centered)
Breakout vs Non-Breakout:
Background
Fixed Position Example: fixed
(Live fixed examples are difficult to demonstrate inline. The code below shows how it would be used.)
<!-- This would appear centered on the screen -->
<e-imposter fixed margin="1em">
<div class="example-item bg-example-red">
Fixed Imposter
</div>
</e-imposter>
Fixed and Breakout: fixed breakout
<!-- This would appear centered on the screen and ignore container bounds -->
<e-imposter fixed breakout>
<div class="example-item bg-example-green">
Fixed & Breakout Imposter
</div>
</e-imposter>
Alignment Examples:
Start/Start (m:0.25em)
Center/End (m:0.5em)
End/Center (m:0)
Properties
breakout<boolean>(Default:false)- Allows the element to overflow its container. Attribute:
breakout.
- Allows the element to overflow its container. Attribute:
margin<string>(Default:'0px')- Logical margin (offset) from the aligned edge(s). Maps to
--imposter-margin. Attribute:margin.
- Logical margin (offset) from the aligned edge(s). Maps to
fixed<boolean>(Default:false)- Uses
position: fixedinstead ofabsolute. Attribute:fixed.
- Uses
align-block<'start' | 'center' | 'end'>(Default:'center')- Block-direction alignment (e.g., top/center/bottom). Attribute:
align-block.
- Block-direction alignment (e.g., top/center/bottom). Attribute:
align-inline<'start' | 'center' | 'end'>(Default:'center')- Inline-direction alignment (e.g., left/center/right). Attribute:
align-inline.
- Inline-direction alignment (e.g., left/center/right). Attribute:
z-index<string>(Default:'1')- Sets the stack order. Maps to
--imposter-z-index. Attribute:z-index.
- Sets the stack order. Maps to