Intro
Bleed er en av våre layout primitives. Denne komponenten legger til negativ margin som lar innhold "blø" ut av sin parent.
Eksempler
Med marginInline=full kan du få enkeltelementer til å dekke hele skjermbredden mens resten av innholdet følger bredden satt av parent-container som vanlig. OBS: Du må kanskje sette 'overflow-x: hidden' på body for å unngå horisontal scrollbar.
Både marginBlock og marginInline er reponsive, slik at du kan sette negativ margin dynamisk basert på brekkpunkter.
Vi anbefaler å bruke 'asChild'-prop der mulig. Dette reduserer antall DOM-noder og forenkler output. Les mer om asChild her.
Noen ganger er det den ene pixelen som skal til for å optisk sentrere elementer.
Margin
Bleed legger til negativ margin gjennom bruk av propen marginBlock
eller marginInline
. Disse følger tokens for spacing, men har i tillegg to ekstra muligheter: full
og px
.
Full
full
bruker teknikken calc((100vw - 100%)/-2)
for å strekke seg helt ut i kanten av siden. I noen tilfeller vil du måtte sette overflow-x: hidden
på body for å unngå horisontal scrollbar.
Px
px
er lagt til som en enkel metode for å optisk justere elementer, noe du kan lese mer om fra Slava Shestopalov.
Reflective padding
reflectivePadding
erstatter den negative marginen med padding. Dette kan være nyttig i tilfeller der du ønsker at bakgrunnen til elementet skal gå helt ut i kantene, men innholdet skal forbli der det var før du la på Bleed.
As child
Vi anbefaler å bruke asChild
, som gjør at komponenten rendrer som nærmeste child-element. Les mer om asChild.
Props
Bleed
marginInline?
- Type:
ResponsiveProp<BleedSpacingInline | "0 0" | "0 full" | "0 px" | "0 05" | "0 1" | "0 1-alt" | "0 2" | "0 3" | "0 4" | "0 5" | "0 6" | "0 7" | "0 8" | "0 9" | "0 10" | "0 11" | ... 512 more ... | "32 32">
- Description:
- Example:
marginBlock?
- Type:
ResponsiveProp<"0 0" | "0 px" | "0 05" | "0 1" | "0 1-alt" | "0 2" | "0 3" | "0 4" | "0 5" | "0 6" | "0 7" | "0 8" | "0 9" | "0 10" | "0 11" | "0 12" | "0 14" | "0 16" | "0 18" | "0 20" | "0 24" | ... 463 more ... | BleedSpacingBlock>
- Description:
- Example:
reflectivePadding?
- Type:
boolean
- Description:
asChild?
- Type:
boolean
- Description:
className?
- Type:
string
ref?
- Type:
LegacyRef<HTMLDivElement>
- Description: