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 | "full full" | "full px" | "full 0" | "full 05" | "full 1" | "full 1-alt" | "full 2" | "full 3" | "full 4" | "full 5" | "full 6" | ... 2013 more ... | "space-128 space-128">
- Description:
- Example:
marginBlock?
- Type:
ResponsiveProp<"px px" | "px 0" | "px 05" | "px 1" | "px 1-alt" | "px 2" | "px 3" | "px 4" | "px 5" | "px 6" | "px 7" | "px 8" | "px 9" | "px 10" | "px 11" | "px 12" | "px 14" | "px 16" | "px 18" | ... 1917 more ... | BleedSpacingBlock>
- Description:
- Example:
reflectivePadding?
- Type:
boolean
- Description:
asChild?
- Type:
boolean
- Description:
className?
- Type:
string
ref?
- Type:
LegacyRef<HTMLDivElement>
- Description: