Jednostki w CSS
Czy wiedzieliście, że w CSS możecie określić długość linii tekstu w liczbie znaków? Tak, jest wiele opcji do wyboru, nie tylko piksele. Te przeróżne jednostki przydają się nam do określenia wymiarów elementów (model pudełkowy!), a także rozmiaru fontu. Zapoznajmy się zatem z kilkoma najpopularniejszymi.
%, czyli procenty. Możemy określać wymiary elementu w procentach. Będą one wtedy wyrażały te wymiary względem rodzica elementu (czyli kontenera, w którym dany element się znajduje). Procenty są przydatne, jeśli chcemy uzyskać elastyczny layout, którego elementy zmieniają wymiary płynnie wraz ze skalowaniem okna.
.fluid-container {
width: 33.33%;
}em– podczas, gdy piksele reprezentują fizyczne piksele na ekranie i są jednostką bezwzględną,emjest jednostką względną i odnosi się do rozmiaru fontu rodzica elementu. Jeśli nadamy elementowi rozmiar lub wielkość fontu równą1em, będzie to oznaczało, że wymiar ten jest równy rozmiarowi fontu jego bezpośredniego rodzica. Spójrzmy na przykład:
<div class="grandpa">
Jestem dziadkiem
<div class="father">
Jestem ojcem
<div class="son">
Jestem synem
</div>
</div>
</div>.grandpa {
font-size: 1.5em; /* 16px */
}
.father {
font-size: 1.5em; /* 1.5 * 16px = 24px */
}
.son {
font-size: 1.5em; /* 1.5 * 24px = 36px */
}Jestem dziadkiem Jestem ojcem Jestem synem
Widzicie więc, że pomimo, iż każdy z elementów posiada identyczną wartość font-size – 1.5em – wynikowe wielkości się różnią. Na początku może się Wam to wydawać mało intuicyjne, jednak w miarę jak będziecie się stawać bardziej zaawansowani, odkryje się przed Wami bogactwo zastosowań dla em.
rem– również jest to jednostka względna. Jej nazwę można rozwinąć jako "rootem". Działa więc podobnie doemz tą różnicą, że wartość wynikowa jest obliczana względem korzenia (root) drzewa dokumentu HTML. Zwykle oznacza to, że wartościremobliczane są względem wielkości fonta zadeklarowanego wewnątrz selektorahtml.
<section class="outer">
<h1>Nagłówek zewnętrzny</h1>
<p>Paragraf umieszczony w zewnętrznej sekcji.</p>
<section class="inner">
<h2>Nagłówek wewnętrzny</h2>
<p>Paragraf umieszczony w wewnętrznej sekcji.</p>
</section>
</section>html {
font-size: 16px;
}
.outer {
font-size: 1.5rem; /* 1.5 * 16px = 24px */
}
.inner {
font-size: 2rem; /* 2 * 16px = 32px */
}Nagłówek zewnętrzny
Paragraf umieszczony w zewnętrznej sekcji.
Nagłówek wewnętrzny
Paragraf umieszczony w wewnętrznej sekcji.
vw(ang. vieport witdh) orazvh(ang. viewport height). Są to jednostki dotyczące wysokości i szerokości okna przeglądarki.1vwoznacza1/100szerokości okna, a1vh–1/100wysokości okna.
.scalable-element {
width: 50vh; /* Zajmuję połowę wysokości okna przeglądarki */
height: 100vw; /* Zajmuję całą szerokość okna */
}Last updated
Was this helpful?