inline-size
Ustawia rozmiar elementu wzdłuż wiersza tekstu. W poziomym piśmie to szerokość, a para block-size ustala wysokość.
- Wartość domyślna
auto- Dziedziczona
- Nie
- Animowalna
- tak, jako długość lub procent
- Dotyczy
- wszystkie elementy poza liniowymi niezastępowanymi (np. span), wierszami i grupami wierszy tabel
- JavaScript
element.style.inlineSize = "320px"
Przykład
#.card {
inline-size: min(100%, 280px);
padding: 12px;
border-radius: 14px;
background: #18181b;
}
.card img {
display: block;
inline-size: 100%;
block-size: 120px;
object-fit: cover;
border-radius: 10px;
}<article class="card">
<img src="/collections/covers/kurs-html-css-od-podstaw.webp" alt="" width="1536" height="1024">
<strong style="display: block; margin-top: 8px;">Kurs HTML i CSS</strong>
<small style="color: #a1a1aa;">11 modułów · 738 zadań</small>
</article>Definicja i zastosowanie
#Właściwość inline-size to logiczny odpowiednik width. Ustala rozmiar elementu na osi liniowej, czyli w kierunku, w którym płynie tekst w wierszu. W zwykłym poziomym tekście to po prostu szerokość i obie właściwości dają ten sam efekt.
Jej para, block-size, ustala rozmiar na osi blokowej, wzdłuż której układają się kolejne akapity. W poziomym piśmie to wysokość. Gdy element dostanie writing-mode: vertical-rl, role się zamieniają: inline-size steruje wysokością, a block-size szerokością.
Obie mają wersje z ograniczeniami: min-inline-size, max-inline-size, min-block-size i max-block-size. Działają jak min-width, max-width i ich pionowe odpowiedniki. Wszystkie przyjmują te same wartości co width: auto, długości, procenty oraz min-content, max-content i fit-content.
Tak jak width, inline-size nie działa na elementach liniowych, takich jak <span>. To samo słownictwo spotkasz w zapytaniach o kontener: container-type: inline-size śledzi właśnie rozmiar liniowy.
Składnia
#inline-size: auto | <długość> | <procent> | min-content | max-content | fit-content;
block-size: auto | <długość> | <procent> | min-content | max-content | fit-content;Wartości
#- Element blokowy zajmuje całą dostępną długość wiersza, czyli całą szerokość rodzica.
<długość>
Stały rozmiar liniowy. W poziomym tekście to 160px szerokości.<procent>
Połowa rozmiaru liniowego bloku zawierającego.oś blokowa
Para dla osi blokowej. W poziomym tekście ustawia wysokość elementu.górny limit
Akapit ma najwyżej około 24 znaków w wierszu. W piśmie pionowym ta sama reguła ograniczyłaby wysokość kolumny tekstu.pismo pionowe
W piśmie pionowym oś liniowa biegnie z góry na dół, więcinline-size: 100pxustawia wysokość elementu, a nie szerokość. Szerokość wynika teraz z treści.
Wartości w praktyce
#auto
.demo { inline-size: auto; }160px
.demo { inline-size: 160px; }50%
.demo { inline-size: 50%; }block-size: 80px
.demo { block-size: 80px; }max-inline-size: 24ch
.demo { max-inline-size: 24ch; }vertical-rl
inline-size: 100px ustawia wysokość elementu, a nie szerokość. Szerokość wynika teraz z treści..stage { writing-mode: vertical-rl; width: 100%; height: 170px; }
.demo { inline-size: 100px; }Obsługa przeglądarek
#Szeroko dostępne
Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.
- Chrome
- Edge
- Firefox
- Safari
Dobre praktyki
#- Na kolumnę tekstu dobrze działa
max-inline-size: 65ch. W piśmie pionowym ta sama reguła rozsądnie ograniczy wysokość kolumny. - Nie ustawiaj
widthiinline-sizena tym samym elemencie. Opisują ten sam wymiar, więc wygrywa deklaracja, która w kaskadzie pada później, a to łatwo przeoczyć. - Jeśli
inline-sizenie działa, sprawdźdisplay. Tak jakwidth, nie zadziała na<span>ani<a>bez zmiany nainline-blocklubblock.
Powiązane hasła
#- widthUstawia szerokość elementu.
- heightUstawia wysokość elementu.
- max-widthUstala maksymalną szerokość, powyżej której element się nie rozciągnie.
- margin-inlineUstawia marginesy na początku i końcu wiersza. Logiczna wersja margin-left i margin-right, która rozumie kierunek pisma.
- container-typeZamienia element w kontener, o którego rozmiar mogą pytać reguły @container. Obejmuje też container-name i skrót container.
Widzisz błąd albo brakuje przykładu? Napisz do nas.