📔
Tutorial The Awwwesomes – HTML & CSS
  • Wstęp
  • Jak działa internet?
  • Narzędzia dewelopera stron internetowych
  • Co zawiera strona internetowa?
  • Kod HTML
    • Podstawowe znaczniki HTML
    • Proste formularze
    • Definiowanie struktury strony
  • Kod CSS
  • Dołączanie fontów Google Fonts
  • Podstawowe reguły rządzące CSS
    • Kaskadowość i dziedziczenie w CSS
    • Złożone selektory i specyficzność
    • Modeł pudełkowy
    • Jednostki w CSS
  • Tworzenie layoutu strony
    • Elementy liniowe i blokowe oraz właściwość display
    • Opływanie elementów
    • Pozycjonujemy elementy na stronie
    • Jak wyśrodkować elementy w pionie i poziomie?
    • Umieszczamy elementy na siatce
  • Zaawansowane selektory
    • Pseudoelementy
    • Pseudoklasy CSS
  • Animacje w CSS
    • Właściwość transition
    • Przekształcanie elementów (transform)
    • Tworzenie animacji – @keyframes
  • Podstawy kodowania responsywnych stron
  • Co dalej?
  • Dodatki
    • Jak pisać czytelny kod?
    • Koderskie wyzwanie, czyli #codenovember
    • Layouty do zakodowania
    • Photoshop dla frontendowca
Powered by GitBook
On this page
  • Nagłówek zewnętrzny
  • Nagłówek wewnętrzny

Was this helpful?

  1. Podstawowe reguły rządzące CSS

Jednostki w CSS

PreviousModeł pudełkowyNextTworzenie layoutu strony

Last updated 4 years ago

Was this helpful?

Czy wiedzieliście, że w CSS możecie określić długość linii tekstu w liczbie znaków? Tak, jest . 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ą, em jest 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 "root em". Działa więc podobnie do em z tą różnicą, że wartość wynikowa jest obliczana względem korzenia (root) drzewa dokumentu HTML. Zwykle oznacza to, że wartości rem obliczane są względem wielkości fonta zadeklarowanego wewnątrz selektora html.

<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) oraz vh (ang. viewport height). Są to jednostki dotyczące wysokości i szerokości okna przeglądarki. 1vw oznacza 1/100 szerokości okna, a 1vh – 1/100 wysokości okna.

.scalable-element {
  width: 50vh; /* Zajmuję połowę wysokości okna przeglądarki */
  height: 100vw; /* Zajmuję całą szerokość okna */
}

wiele opcji do wyboru, nie tylko piksele
Edytuj na CodePen
Edytuj na CodePen