Przejdź do treści głównej

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