Jednostki rozmiaru

Podcast CSS – 008: Sizing units .

Internet jest medium elastycznym, ale czasami możesz chcieć kontrolować jego wymiary, by poprawić ogólną jakość interfejsu. Dobrym przykładem jest ograniczenie długości wierszy w celu zwiększenia czytelności. Jak to zrobić w takim elastycznym medium, jak internet?

W tym przypadku możesz użyć jednostki ch, która ma szerokość „0” w wyrenderowanej czcionce w jej obliczonym rozmiarze. Umożliwia ona ograniczenie szerokości tekstu za pomocą jednostki przeznaczonej do które z kolei zapewnia przewidywalną kontrolę niezależnie od rozmiaru tekstu. Jednostka ch to jedna z kilku jednostek, które są pomocne w konkretnych kontekstach, takich jak ten przykład.

Numbers

Liczby służą do określania parametrów opacity i line-height, a nawet do określania wartości kanałów kolorów w polu rgb. Liczby to liczby całkowite (1, 2, 3, 100) oraz ułamki dziesiętne (0,1, 0,2, 0,3).

Liczby mają znaczenie w zależności od kontekstu. Na przykład gdy definiujesz line-height, liczba jest reprezentatywna dla współczynnika, jeśli zostanie zdefiniowany bez jednostki pomocniczej:

p {
  font-size: 24px;
  line-height: 1.5;
}

W tym przykładzie 1.5 jest równa 150% wyliczonego rozmiaru czcionki w pikselach elementu p. Oznacza to, że jeśli p ma wartość font-size o wartości 24px, wysokość wiersza zostanie obliczona jako 36px.

Numerów można też używać w tych miejscach:

  • Podczas ustawiania wartości filtrów: filter: sepia(0.5) stosuje do elementu filtr sepii 50%.
  • Podczas ustawiania przezroczystości: opacity: 0.5 stosuje przezroczystość (50%).
  • W kanałach kolorów: rgb(50, 50, 50), gdzie 0-255 pozwala określić wartość koloru. Zobacz lekcję dotyczącą kolorów
  • Aby przekształcić element: transform: scale(1.2) skaluje element o 120% jego początkowego rozmiaru.

Procenty

Jeśli w CSS używasz procentu, musisz wiedzieć, jak jest on obliczany. Na przykład width jest obliczany jako procent dostępnej szerokości w elemencie nadrzędnym.

div {
  width: 300px;
  height: 100px;
}

div p {
  width: 50%; 
}

W powyższym przykładzie szerokość elementu div p wynosi 150px, przy założeniu, że układ korzysta z domyślnego box-sizing: content-box.

Jeśli ustawisz margin lub padding jako procent, będą stanowiły część szerokości elementu nadrzędnego, niezależnie od kierunku.

div {
  width: 300px;
  height: 100px;
}

div p {
  margin-top: 50%; /* calculated: 150px */
  padding-left: 50%; /* calculated: 150px */
}

We fragmencie kodu powyżej margin-top i padding-left będą obliczać 150px.

div {
  width: 300px;
  height: 100px;
}

div p {
  width: 50%; /* calculated: 150px */
  transform: translateX(10%); /* calculated: 15px */
}

Jeśli ustawisz wartość transform w procentach, opiera się na elemencie z zestawem przekształcenia. W tym przykładzie p ma wartość translateX o wartości 10% i width o wartości 50%. Najpierw oblicz szerokość: 150px, bo to 50% szerokości elementu nadrzędnego. Potem wybierz 10% z 150px, czyli 15px.

Wymiary i długości

Jeśli dołączysz jednostkę do liczby, stanie się ona wymiarem. Na przykład 1rem jest wymiarem. W tym kontekście jednostka powiązana z liczbą jest w specyfikacjach nazywana tokenem wymiaru. Długości to wymiary odnoszące się do odległości i mogą być bezwzględne lub względne.

Długości bezwzględne

Wszystkie długości bezwzględne rozwiązują się na tej samej podstawie, dzięki czemu są przewidywalne niezależnie od tego, gdzie są używane w usłudze porównywania cen. Jeśli np. używasz właściwości cm, aby określić rozmiar elementu, a następnie go wydrukować, powinno być dokładne, gdy porównasz go z linijką.

div {
  width: 10cm;
  height: 5cm;
  background: black;
}

Jeśli ta strona zostanie wydrukowana, div będzie wydrukowany jako czarny prostokąt o wymiarach 10 x 5 cm. Pamiętaj, że CSS służy nie tylko do tworzenia treści cyfrowych, ale też do określania stylu materiałów drukowanych. Bezwzględna długość może być bardzo przydatna przy projektowaniu materiałów do druku.

Jednostka Nazwa Odpowiednik
cm Centymetry 1 cm = 96 piks.2,54
mm Milimetry 1 mm = 1/10 cm
P Ćwierć milimetrów 1Q = 1/40 cm
w: Cale 1 cal = 2,54 cm = 96 pikseli
komputer Picas 1 szt. = 1/6 cala
pkt Punkty 1 pkt = 1/72 cala
piks. Piksele 1 piksel = 1/96 cala

Długości względne

Długość względna jest obliczana na podstawie wartości podstawowej, podobnie jak wartość procentowa. Różnica między tymi wartościami a wartościami procentowymi polega na tym, że możesz określić rozmiar elementów kontekstowo. Oznacza to, że CSS ma jednostki takie jak ch, na których podstawą jest rozmiar tekstu, i vw, która jest oparta na szerokości widocznego obszaru (okna przeglądarki). Długości względne są szczególnie przydatne w internecie ze względu na to, że są elastyczne.

Jednostki zależne od rozmiaru czcionki

CSS udostępnia przydatne jednostki zależne od rozmiaru elementów renderowanej typografii, np. rozmiar samego tekstu (jednostki: em) lub szerokość kroju krojów pisma (jednostki: ch).

Jednostka w odniesieniu do:
em W zależności od rozmiaru czcionki Oznacza to, że rozmiar 1,5 em będzie o 50% większy od obliczonego podstawowego rozmiaru czcionki w elemencie nadrzędnym. (Wcześniej była to wysokość wielkiej litery „M”).
np. Heurystyka służąca do określenia, czy użyć wysokości x, litera „x” lub „.5em” w obliczonym obecnie rozmiarze czcionki tego elementu.
cap Wysokość wielkich liter w bieżącym rozmiarze czcionki elementu.
K Średni przekroczenie znaku wąskiego glifu w czcionce elementu (symbolizowana przez glif „0”).
ic Przeciętny przejście znaku glifu o pełnej szerokości w czcionce elementu, reprezentowany przez „水” glif (ideograf wody CJK, U+6C34).
rem Rozmiar czcionki elementu głównego (domyślnie 16 pikseli).
lh Wysokość wiersza elementu.
rlh Wysokość wiersza elementu głównego.
Tekst CSS jest 10-krotnie większy z etykietami wysokości rosnącej, wysokości opadkowej i x-height. Wysokość x oznacza 1ex, a 0 oznacza 1 kan.

Jednostki zależne od widocznego obszaru

Wymiarów widocznego obszaru (okna przeglądarki) możesz użyć jako podstawy względnej. Te jednostki zajmują część dostępnego obszaru widocznego obszaru.

Jednostka w odniesieniu do
VW 1% szerokości widocznego obszaru. Za pomocą tej jednostki sztucznie wykorzystują czcionki, takie jak zmiana rozmiaru czcionki nagłówka w zależności od szerokości strony, rozmiar czcionki się zmieni.
VH 1% wysokości widocznego obszaru. Pozwala rozmieszczać elementy w interfejsie, jeśli używasz np. paska narzędzi w stopce.
vi 1% rozmiaru widocznego obszaru na osi wbudowanej elementu głównego. Oś odnosi się do trybów pisania. W trybie pisania poziomego, np. w języku angielskim, oś wbudowana jest pozioma. W trybach pisania pionowego, takich jak niektóre japońskie kroje pisma, oś wbudowana biegnie od góry do dołu.
VB 1% rozmiaru widocznego obszaru na osi blokowej elementu głównego. W przypadku osi bloku jest to kierunkowość języka. Języki LTR takie jak angielski mają pionową oś bloku, ponieważ czytelnicy anglojęzyczni przeglądają stronę od góry do dołu. Tryb pisania w pionie ma poziomą oś bryły.
vmin 1% mniejszego wymiaru widocznego obszaru.
vmax 1% większego wymiaru widocznego obszaru.
div {
  width: 10vw;
}

p {
  max-width: 60ch;
}

W tym przykładzie div to 10% szerokości widocznego obszaru, ponieważ 1vw to 1% szerokości widocznego obszaru. Element p ma wartość max-width o wartości 60ch Nie może ona przekraczać szerokości 60 „0”. użyj obliczonej czcionki i rozmiaru.

Różne jednostki

Istnieją też inne jednostki, które zostały określone do obsługi określonych typów wartości.

Jednostki kąta

W module kolorów: zbadaliśmy jednostki kątów, przydatne przy definiowaniu wartości stopni, takich jak barwa w hsl. Są one również przydatne przy obracaniu elementów w ramach funkcji przekształcania.

div {
  width: 150px;
  height: 150px;
  transform: rotate(60deg);
}

Za pomocą jednostki kąta deg możesz obracać element div o 90° wokół jego środkowej osi.

div {
  background-image: url('a-low-resolution-image.jpg');
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  div {
    background-image: url('a-high-resolution-image.jpg');
  }
}

Jednostki rozdzielczości

W poprzednim przykładzie wartość min-resolution wynosi 192dpi. Jednostka dpi oznacza punkty na cal. Przydatny kontekst to wykrywanie ekranów o bardzo wysokiej rozdzielczości, np. Retina wyświetla w zapytaniu o multimedia i wyświetla obraz o wyższej rozdzielczości.

Sprawdź swoją wiedzę

Sprawdź swoją wiedzę na temat rozmiarów

Które z poniższych wymiarów są prawidłowymi?

cm
Centymetry, prawidłowy wymiar bezwzględny.
UI
Interfejs użytkownika nie jest wymiarem w CSS.
w
Cale, czyli prawidłowy wymiar bezwzględny.
8
To nie jest wymiar usługi porównywania cen
piks.
Piksele – prawidłowy wymiar bezwzględny.
ch
Jednostki znaków – prawidłowy wymiar względny.
UX
Wrażenia użytkowników nie są wymiarem w CSS.
em
Litera „M” to prawidłowy wymiar względny.
np.
Litera „x” to prawidłowy wymiar względny.

Czym różnią się jednostki bezwzględne i względne?

Wartości bezwzględne nie mogą ulec zmianie, ale jednostki względne mogą
Wartości bezwzględne mogą się zmieniać, ale podstawa, na podstawie której są obliczane, nie jest możliwa.
Długość bezwzględna jest obliczana na podstawie pojedynczej wspólnej wartości podstawowej, gdzie jednostka względna jest porównywana z wartością podstawową, która może ulec zmianie.
Jednostki względne są bardziej elastyczne i elastyczne ze względu na swoją świadomość kontekstową, ale istnieje moc i przewidywalność jednostek bezwzględnych, które mogą być podstawą niektórych projektów.

Jednostki widocznego obszaru są bezwzględne.

Prawda
Mogą wydawać się absolutne, ale odnoszą się do widocznego obszaru, którym może być element iframe lub komponent WebView, i nie zawsze jest reprezentatywny dla rozmiaru ekranu urządzenia.
Fałsz
Są one wyświetlane względem okna dokumentu, w którym zostały utworzone. Może to być takie samo jak na ekranie urządzenia.

Zasoby