Przejdź do treści głównej
Wersja: 0.81

Właściwości układu

Nieoficjalne Tłumaczenie Beta

Ta strona została przetłumaczona przez PageTurner AI (beta). Nie jest oficjalnie zatwierdzona przez projekt. Znalazłeś błąd? Zgłoś problem →

informacja

Bardziej szczegółowe przykłady dotyczące tych właściwości znajdziesz na stronie Układ z Flexbox.

Przykład

Poniższy przykład pokazuje, jak różne właściwości mogą wpływać na kształtowanie układu w React Native. Możesz na przykład dodawać lub usuwać kwadraty z interfejsu, zmieniając wartości właściwości flexWrap.


Dokumentacja

Właściwości

alignContent

alignContent kontroluje, jak wiersze są wyrównywane w kierunku poprzecznym, nadpisując alignContent rodzica.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
enum('flex-start', 'flex-end', 'center', 'stretch', 'space-between', 'space-around', 'space-evenly')No

alignItems

alignItems wyrównuje elementy potomne w kierunku poprzecznym. Na przykład, gdy elementy są rozmieszczone pionowo, alignItems kontroluje ich wyrównanie w poziomie. Działa jak align-items w CSS (domyślnie: stretch).

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
enum('flex-start', 'flex-end', 'center', 'stretch', 'baseline')No

alignSelf

alignSelf kontroluje, jak element potomny jest wyrównywany w kierunku poprzecznym, nadpisując alignItems rodzica. Działa jak align-self w CSS (domyślnie: auto).

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
enum('auto', 'flex-start', 'flex-end', 'center', 'stretch', 'baseline')No

aspectRatio

Współczynnik proporcji kontroluje rozmiar niezdefiniowanego wymiaru węzła.

  • Dla węzła o ustalonej szerokości/wysokości współczynnik proporcji kontroluje rozmiar niezdefiniowanego wymiaru

  • Dla węzła o ustalonym flex basis współczynnik proporcji kontroluje rozmiar węzła w osi poprzecznej, jeśli nie jest zdefiniowany

  • Dla węzła z funkcją pomiaru współczynnik proporcji działa tak, jakby funkcja pomiaru mierzyła flex basis

  • Dla węzła z flex grow/shrink współczynnik proporcji kontroluje rozmiar węzła w osi poprzecznej, jeśli nie jest zdefiniowany

  • Współczynnik proporcji uwzględnia minimalne/maksymalne wymiary

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

borderBottomWidth

borderBottomWidth działa jak border-bottom-width w CSS.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
numberNo

borderEndWidth

Gdy kierunek to ltr, borderEndWidth jest równoważne borderRightWidth. Gdy kierunek to rtl, borderEndWidth jest równoważne borderLeftWidth.

TypeRequired
numberNo

borderLeftWidth

borderLeftWidth działa jak border-left-width w CSS.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
numberNo

borderRightWidth

borderRightWidth działa jak border-right-width w CSS.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
numberNo

borderStartWidth

Gdy kierunek to ltr, borderStartWidth jest równoważne borderLeftWidth. Gdy kierunek to rtl, borderStartWidth jest równoważne borderRightWidth.

TypeRequired
numberNo

borderTopWidth

borderTopWidth działa jak border-top-width w CSS.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
numberNo

borderWidth

borderWidth działa jak border-width w CSS.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
numberNo

bottom

bottom określa przesunięcie dolnej krawędzi tego komponentu w pikselach logicznych.

Działa podobnie jak bottom w CSS, ale w React Native musisz używać punktów lub procentów. Jednostki takie jak em nie są obsługiwane.

Zobacz dokumentację MDN CSS, aby dowiedzieć się więcej, jak bottom wpływa na układ.

TypeRequired
number, stringNo

boxSizing

boxSizing definiuje sposób obliczania różnych właściwości rozmiaru elementu (width, height, minWidth, minHeight, itd.). Jeśli boxSizing ma wartość border-box, te rozmiary odnoszą się do obramowania elementu. Jeśli content-box — do jego zawartości. Wartość domyślna to border-box. Dokumentacja webowa to dobre źródło informacji, jeśli chcesz dowiedzieć się więcej o działaniu tej właściwości.

TypeRequired
enum('border-box', 'content-box')No

columnGap

columnGap działa jak column-gap w CSS. W React Native obsługiwane są tylko jednostki pikselowe.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
numberNo

direction

direction określa kierunkowy przepływ interfejsu. Domyślnie jest inherit, z wyjątkiem węzła głównego, który przyjmuje wartość na podstawie bieżącej lokalizacji.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
enum('inherit', 'ltr', 'rtl')No

display

display ustawia typ wyświetlania komponentu.

Działa podobnie jak display w CSS, ale obsługuje tylko wartości 'flex', 'none' oraz 'contents'. Wartość domyślna to flex.

TypeRequired
enum('none', 'flex', 'contents')No

end

Gdy kierunek to ltr, end odpowiada right. Gdy kierunek to rtl, end odpowiada left.

Ten styl ma pierwszeństwo przed stylami left i right.

TypeRequired
number, stringNo

flex

W React Native flex działa inaczej niż w CSS. flex jest liczbą, a nie ciągiem znaków, i funkcjonuje zgodnie z silnikiem układu Yoga.

Gdy flex jest liczbą dodatnią, komponent staje się elastyczny, a jego rozmiar jest proporcjonalny do wartości flex. Komponent z flex ustawionym na 2 zajmie dwa razy więcej miejsca niż komponent z flex równym 1. flex: <positive number> odpowiada flexGrow: <positive number>, flexShrink: 1, flexBasis: 0.

Gdy flex ma wartość 0, komponent jest rozmiarowany zgodnie z width i height i jest nieelastyczny.

Gdy flex ma wartość -1, komponent jest zwykle rozmiarowany zgodnie z width i height. Jednak jeśli zabraknie miejsca, komponent zmniejszy się do swoich minWidth i minHeight.

flexGrow, flexShrink i flexBasis działają tak samo jak w CSS.

TypeRequired
numberNo

flexBasis

flexBasis to niezależny od osi sposób określania domyślnego rozmiaru elementu wzdłuż osi głównej. Ustawienie flexBasis dziecka przypomina ustawienie jego width (gdy rodzic ma flexDirection: row) lub height (gdy rodzic ma flexDirection: column). flexBasis to rozmiar początkowy elementu, zanim zostaną zastosowane obliczenia flexGrow i flexShrink.

TypeRequired
number, stringNo

flexDirection

flexDirection kontroluje kierunek układania elementów potomnych w kontenerze. row układa od lewej do prawej, column od góry do dołu, a pozostałe dwa kierunki łatwo odgadnąć. Działa jak flex-direction w CSS, z tą różnicą, że wartością domyślną jest column.

Więcej szczegółów znajdziesz w dokumentacji MDN CSS.

TypeRequired
enum('row', 'row-reverse', 'column', 'column-reverse')No

flexGrow

flexGrow określa, jak dostępna przestrzeń w kontenerze ma być rozdzielana między elementy potomne wzdłuż osi głównej. Po rozmieszczeniu dzieci kontener rozdzieli pozostałe miejsce proporcjonalnie do wartości flex grow poszczególnych elementów.

flexGrow przyjmuje wartości zmiennoprzecinkowe >= 0, gdzie 0 jest wartością domyślną. Kontener rozdzieli pozostałe miejsce między dzieci proporcjonalnie do ich wartości flexGrow.

TypeRequired
numberNo

flexShrink

flexShrink określa, jak elementy potomne mają się zmniejszać wzdłuż osi głównej, gdy ich łączny rozmiar przekroczy rozmiar kontenera. flexShrink działa bardzo podobnie do flexGrow, traktując nadmiarową przestrzeń jako ujemną wartość do rozdysponowania. Obie właściwości dobrze współpracują, pozwalając elementom odpowiednio rosnąć i zmniejszać się.

flexShrink przyjmuje wartości zmiennoprzecinkowe >= 0, gdzie 0 jest wartością domyślną. Kontener zmniejszy swoje elementy potomne proporcjonalnie do ich wartości flexShrink.

TypeRequired
numberNo

flexWrap

flexWrap kontroluje, czy elementy potomne mogą przechodzić do nowej linii po zapełnieniu kontenera. Działa jak flex-wrap w CSS (domyślnie: nowrap).

Uwaga: nie działa już z alignItems: stretch (wartością domyślną), dlatego warto np. użyć alignItems: flex-start (szczegóły zmiany łamiącej: https://github.com/facebook/react-native/releases/tag/v0.28.0).

Więcej szczegółów znajdziesz w dokumentacji MDN CSS.

TypeRequired
enum('wrap', 'nowrap', 'wrap-reverse')No

gap

gap działa jak gap w CSS. W React Native obsługiwane są tylko jednostki pikselowe.

Więcej szczegółów znajdziesz w dokumentacji MDN CSS.

TypeRequired
numberNo

height

height ustawia wysokość komponentu.

Działa podobnie jak height w CSS, ale w React Native należy używać punktów lub procentów. Jednostki takie jak em nie są obsługiwane.

Więcej szczegółów znajdziesz w dokumentacji MDN CSS.

TypeRequired
number, stringNo

inset

uwaga

inset jest dostępne tylko w Nowej Architekturze

Ustawienie inset ma ten sam efekt, co ustawienie właściwości top, bottom, right i left.

Więcej szczegółów znajdziesz w dokumentacji MDN CSS.

TypeRequired
number, stringNo

insetBlock

uwaga

insetBlock jest dostępne tylko w Nowej Architekturze

Odpowiednik top i bottom.

Więcej szczegółów znajdziesz w dokumentacji MDN CSS.

TypeRequired
number, stringNo

insetBlockEnd

uwaga

insetBlockEnd jest dostępne tylko w Nowej Architekturze

Odpowiednik bottom.

Więcej szczegółów znajdziesz w dokumentacji MDN CSS.

TypeRequired
number, stringNo

insetBlockStart

uwaga

insetBlockStart jest dostępne tylko w Nowej Architekturze

Odpowiednik top.

Więcej szczegółów znajdziesz w dokumentacji MDN CSS.

TypeRequired
number, stringNo

insetInline

uwaga

insetInline jest dostępne tylko w Nowej Architekturze

Odpowiednik right i left.

Więcej szczegółów znajdziesz w dokumentacji MDN CSS.

TypeRequired
number, stringNo

insetInlineEnd

uwaga

insetInlineEnd jest dostępne tylko w Nowej Architekturze

Gdy kierunek to ltr, insetInlineEnd jest równoważne right. Gdy kierunek to rtl, insetInlineEnd jest równoważne left.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

insetInlineStart

uwaga

insetInlineStart jest dostępne tylko w Nowej Architekturze

Gdy kierunek to ltr, insetInlineStart jest równoważne left. Gdy kierunek to rtl, insetInlineStart jest równoważne right.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

isolation

uwaga

isolation jest dostępne tylko w Nowej Architekturze

isolation pozwala utworzyć kontekst nakładania.

Dostępne dwie wartości:

  • auto (domyślnie): Brak działania.

  • isolate: Tworzy kontekst nakładania.

TypeRequired
enum('auto', 'isolate')No

justifyContent

justifyContent wyrównuje elementy potomne w kierunku głównym. Na przykład, gdy elementy są rozmieszczone pionowo, justifyContent kontroluje ich wyrównanie w pionie. Działa jak justify-content w CSS (domyślnie: flex-start).

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
enum('flex-start', 'flex-end', 'center', 'space-between', 'space-around', 'space-evenly')No

left

left określa przesunięcie lewej krawędzi komponentu (w pikselach logicznych).

Działa podobnie jak left w CSS, ale w React Native należy używać punktów lub procentów. Inne jednostki nie są obsługiwane.

Zobacz dokumentację MDN CSS, aby dowiedzieć się więcej, jak left wpływa na układ.

TypeRequired
number, stringNo

margin

Ustawienie margin ma taki sam efekt jak ustawienie marginTop, marginLeft, marginBottom i marginRight.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

marginBottom

marginBottom działa jak margin-bottom w CSS. Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

marginBlock

Równoważne marginVertical.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

marginBlockEnd

Równoważne marginBottom.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

marginBlockStart

Równoważne marginTop.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

marginEnd

Gdy kierunek układu jest ltr, marginEnd odpowiada marginRight. Gdy kierunek jest rtl, marginEnd odpowiada marginLeft.

TypeRequired
number, stringNo

marginHorizontal

Ustawienie marginHorizontal ma taki sam efekt jak ustawienie zarówno marginLeft, jak i marginRight.

TypeRequired
number, stringNo

marginInline

Równoważne marginHorizontal.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

marginInlineEnd

Gdy kierunek to ltr, marginInlineEnd jest równoważne marginEnd (czyli marginRight). Gdy kierunek to rtl, marginInlineEnd jest równoważne marginEnd (czyli marginLeft).

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

marginInlineStart

Gdy kierunek to ltr, marginInlineStart jest równoważne marginStart (tj. marginLeft). Gdy kierunek to rtl, marginInlineStart jest równoważne marginStart (tj. marginRight).

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

marginLeft

marginLeft działa jak margin-left w CSS. Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

marginRight

marginRight działa jak margin-right w CSS.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

marginStart

Gdy kierunek układu jest ltr, marginStart odpowiada marginLeft. Gdy kierunek jest rtl, marginStart odpowiada marginRight.

TypeRequired
number, stringNo

marginTop

marginTop działa jak margin-top w CSS.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

marginVertical

Ustawienie marginVertical ma taki sam efekt jak ustawienie zarówno marginTop, jak i marginBottom.

TypeRequired
number, stringNo

maxHeight

maxHeight określa maksymalną wysokość komponentu w pikselach logicznych.

Działa podobnie jak max-height w CSS, ale w React Native należy używać punktów lub procentów. Jednostki em i inne nie są obsługiwane.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

maxWidth

maxWidth określa maksymalną szerokość komponentu w pikselach logicznych.

Działa podobnie jak max-width w CSS, ale w React Native należy używać punktów lub procentów. Jednostki em i inne nie są obsługiwane.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

minHeight

minHeight określa minimalną wysokość komponentu w pikselach logicznych.

Działa podobnie jak min-height w CSS, ale w React Native należy używać punktów lub procentów. Jednostki em i inne nie są obsługiwane.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

minWidth

minWidth określa minimalną szerokość komponentu w pikselach logicznych.

Działa podobnie jak min-width w CSS, ale w React Native należy używać punktów lub procentów. Jednostki em i inne nie są obsługiwane.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

overflow

overflow kontroluje sposób pomiaru i wyświetlania elementów potomnych. overflow: hidden powoduje przycięcie widoków, natomiast overflow: scroll umożliwia niezależny pomiar względem głównej osi rodzica. Działa jak overflow w CSS (domyślnie: visible).

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
enum('visible', 'hidden', 'scroll')No

padding

Ustawienie padding ma ten sam efekt co ustawienie paddingTop, paddingBottom, paddingLeft i paddingRight razem.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

paddingBottom

paddingBottom działa jak padding-bottom w CSS.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

paddingBlock

Równoważne paddingVertical.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

paddingBlockEnd

Równoważne paddingBottom.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

paddingBlockStart

Równoważne paddingTop.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

paddingEnd

Gdy kierunek jest ustawiony na ltr, paddingEnd odpowiada właściwości paddingRight. Gdy kierunek jest rtl, paddingEnd odpowiada właściwości paddingLeft.

TypeRequired
number, stringNo

paddingHorizontal

Ustawienie paddingHorizontal jest równoważne ustawieniu zarówno paddingLeft, jak i paddingRight.

TypeRequired
number, stringNo

paddingInline

Równoważne paddingHorizontal.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

paddingInlineEnd

Gdy kierunek to ltr, paddingInlineEnd jest równoważne paddingEnd (tj. paddingRight). Gdy kierunek to rtl, paddingInlineEnd jest równoważne paddingEnd (tj. paddingLeft).

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

paddingInlineStart

Gdy kierunek to ltr, paddingInlineStart jest równoważne paddingStart (tj. paddingLeft). Gdy kierunek to rtl, paddingInlineStart jest równoważne paddingStart (tj. paddingRight).

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

paddingLeft

paddingLeft działa jak padding-left w CSS.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

paddingRight

paddingRight działa jak padding-right w CSS.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

paddingStart

Gdy kierunek jest ltr, paddingStart odpowiada właściwości paddingLeft. Gdy kierunek jest rtl, paddingStart odpowiada właściwości paddingRight.

TypeRequired
number, stringNo

paddingTop

paddingTop działa jak padding-top w CSS.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

paddingVertical

Ustawienie paddingVertical jest równoważne ustawieniu zarówno paddingTop, jak i paddingBottom.

TypeRequired
number, stringNo

position

Właściwość position w React Native działa podobnie jak w standardowym CSS, ale domyślnie wszystkie elementy mają ustawioną wartość relative.

relative pozycjonuje element względem normalnego przepływu układu. Wcięcia (top, bottom, left, right) przesuwają element względem tej pozycji.

absolute wyciąga element z normalnego przepływu układu. Wcięcia przesuwają element względem jego bloku zawierającego.

static pozycjonuje element zgodnie z normalnym przepływem układu. Wcięcia nie mają w tym przypadku żadnego efektu. Elementy static nie tworzą bloku zawierającego dla elementów potomnych z pozycjonowaniem absolute.

Więcej informacji można znaleźć w dokumentacji układu z Flexbox. Dodatkowo dokumentacja Yoga szczegółowo opisuje różnice w działaniu position między React Native a CSS.

TypeRequired
enum('absolute', 'relative', 'static')No

right określa przesunięcie prawej krawędzi komponentu w pikselach logicznych.

Działa podobnie jak right w CSS, ale w React Native należy używać punktów lub procentów. Jednostki em i inne nie są obsługiwane.

Zobacz dokumentację MDN CSS, aby dowiedzieć się więcej, jak right wpływa na układ.

TypeRequired
number, stringNo

rowGap

rowGap działa jak row-gap w CSS. W React Native obsługiwane są tylko jednostki pikselowe.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
numberNo

start

Gdy kierunek jest ustawiony na ltr, start odpowiada właściwości left. Gdy kierunek jest rtl, start odpowiada właściwości right.

Ten styl ma pierwszeństwo przed stylami left, right i end.

TypeRequired
number, stringNo

top

top to liczba pikseli logicznych, o które przesunięta jest górna krawędź tego komponentu.

Działa podobnie jak top w CSS, ale w React Native musisz używać punktów lub procentów. Jednostki takie jak emy nie są obsługiwane.

Zobacz dokumentację MDN CSS, aby dowiedzieć się więcej, jak top wpływa na układ.

TypeRequired
number, stringNo

width

width ustawia szerokość tego komponentu.

Działa podobnie jak width w CSS, ale w React Native musisz używać punktów lub procentów. Jednostki takie jak em nie są obsługiwane.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
number, stringNo

zIndex

zIndex kontroluje, które komponenty wyświetlają się nad innymi. Zwykle nie używa się zIndex. Komponenty renderują się zgodnie z kolejnością w drzewie dokumentu, więc późniejsze komponenty nakładają się na wcześniejsze. zIndex może być przydatny w animacjach lub niestandardowych interfejsach modalnych, gdzie takie zachowanie jest niepożądane.

Działa jak właściwość CSS z-index — komponenty o większej wartości zIndex będą renderowane na wierzchu. Wyobraź sobie kierunek z jako skierowany od telefonu w stronę twojej gałki ocznej.

W systemie iOS, aby zIndex działał zgodnie z oczekiwaniami, View muszą być elementami równorzędnymi.

Zobacz dokumentację MDN CSS po więcej szczegółów.

TypeRequired
numberNo