stylex.positionTry
Creates a @position-try
rule used to define a custom position-try fallback option, which can be used to define positioning and alignment for anchor-positioned elements. One or more sets of position-try fallback options can be applied to the anchored element via the positionTryFallbacks
property.
function positionTry(descriptors: {[key: string]: RawStyles}): string;
The only properties allowed in a positionTry
call are positionAnchor
, positionArea
, inset properties (top
, left
, insetInline
, etc.), margin properties, size properties (height
, inlineSize
, etc.), and self-alignment properties (alignSelf
, justifySelf
, placeSelf
).
You must declare your position-try rules in the same file as where you use them. Duplicate declarations will be deduplicated in the generated CSS output.
Example use:
import * as stylex from '@stylexjs/stylex';
const fallback = stylex.positionTry({
positionAnchor: '--anchor',
top: '0',
left: '0',
width: '100px',
height: '100px'
});
const styles = stylex.create({
anchor: {
positionTryFallbacks: fallback,
},
});
To use positionTry
return values in a separate file, you can use defineVars
to hold position fallback values:
import * as stylex from '@stylexjs/stylex';
const topLeftCorner = stylex.positionTry({
positionAnchor: '--anchor',
top: '0',
left: '0',
width: '100px',
height: '100px'
});
export const positionFallbacks = stylex.defineVars({
topLeftCorner
});
These variables can then be imported and used like any other variables created
with defineVars
.