Kategorie
Kurs CSS

Rozmiary CSS – szerokość, wysokość

Rozmiary CSS pozwalają na precyzyjne określenie rozmiarów elementów na stronie internetowej, co jest kluczowe dla tworzenia układów stron www. Dlatego w tym artykule skupię się na dwóch podstawowych właściwościach definiujących rozmiar elementów w CSS: szerokości (width) i wysokości (height). Dodatkowo omówię jak je definiować, jakie są dostępne jednostki miar oraz jak używać tych właściwości w różnych kontekstach.

Rozmiary CSS – ustawienie szerokośsi i wysokości

Właściwości width i height pozwalają na ustawienie szerokości i wysokości elementów. Można je definiować przy użyciu różnych jednostek miar, takich jak piksele (px), procenty (%), jednostki względne (em, rem), oraz jednostki widoku (vw, vh).

width – szerokość

Aby ustawić szerokość elementu w CSS, używamy właściwości width. Możemy użyć różnych jednostek miary, takich jak piksele (px), procenty (%), em, rem, vw (viewport width) i innych.

.element {
  width: 200px; /* Szerokość 200 pikseli */
}

height – wysokość

Wysokość elementu możemy ustawić za pomocą właściwości height.

.element {
  height: 100px; /* Wysokość 100 pikseli */
}

Jednostki miar w CSS

Piksele (px)

Piksele są najczęściej używaną jednostką miary w CSS. Są absolutne, co oznacza, że ich wartość nie zmienia się w zależności od innych czynników.

.element {
  width: 300px;
  height: 150px;
}

Procenty (%)

Procenty są jednostką względną, co oznacza, że ich wartość zależy od rozmiaru elementu nadrzędnego.

.container {
  width: 400px;
}

.element {
  width: 50%; /* Połowa szerokości elementu nadrzędnego (400px / 2 = 200px) */
}

Em i Rem

Jednostki em i rem są związane z rozmiarem czcionki. Jedna em jest równa rozmiarowi czcionki elementu nadrzędnego, a jedna rem jest równa rozmiarowi czcionki elementu głównego (html).

html {
  font-size: 16px;
}

.container {
  font-size: 1em; /* 16px */
}

.element {
  width: 10em; /* 10 * 16px = 160px */
  height: 5rem; /* 5 * 16px = 80px */
}

Viewport Width (vw) i Viewport Height (vh)

Jednostki vw i vh są względne w stosunku do wymiarów okna przeglądarki (viewport). 1vw to 1% szerokości okna przeglądarki, a 1vh to 1% wysokości okna przeglądarki.

.element {
  width: 50vw; /* 50% szerokości okna przeglądarki */
  height: 50vh; /* 50% wysokości okna przeglądarki */
}

Maksymalna i minimalna szerokość/wysokość

CSS umożliwia ustawienie maksymalnej i minimalnej szerokości oraz wysokości elementów za pomocą właściwości max-width, min-width, max-height i min-height.

.element {
  width: 100%;
  max-width: 600px; /* Maksymalna szerokość 600 pikseli */
  min-height: 200px; /* Minimalna wysokość 200 pikseli */
}

Podstawy użycia calc()

Funkcja calc() pozwala na wykonywanie obliczeń przy ustalaniu wartości rozmiarów. Dzięki niej można łączyć różne jednostki miary i dynamicznie obliczać wartości.

.dynamic-box {
  width: calc(100% - 50px); /* szerokość równa 100% szerokości rodzica minus 50px */
  height: calc(50vh + 20px); /* wysokość równa 50% wysokości okna przeglądarki plus 20px */
}

Praktyczne przykłady użycia szerokości i wysokości w CSS

Ustawianie stałych rozmiarów

Poniżej znajduje się przykład ustawienia stałych rozmiarów elementu za pomocą pikseli.

<!DOCTYPE html>
<html lang="pl">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Stałe Rozmiary</title>
  <style>
    .fixed-size {
      width: 300px;
      height: 150px;
      background-color: lightcoral;
    }
  </style>
</head>
<body>
  <div class="fixed-size">Stałe Rozmiary</div>
</body>
</html>
Stałe Rozmiary

Ustawianie rozmiarów w procentach

Przykład ustawienia rozmiarów elementu w procentach w stosunku do elementu nadrzędnego.

<!DOCTYPE html>
<html lang="pl">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Rozmiary w Procentach</title>
  <style>
    .parent {
      width: 500px;
      height: 250px;
      background-color: lightgray;
    }

    .child {
      width: 50%;
      height: 50%;
      background-color: lightblue;
    }
  </style>
</head>
<body>
  <div class="parent">
    <div class="child">50% szerokości i wysokości rodzica</div>
  </div>
</body>
</html>
50% szerokości i wysokości rodzica

Ustawianie rozmiarów za pomocą jednostek widoku

Przykład użycia jednostek widoku (vw i vh), które są zależne od wymiarów okna przeglądarki.

<!DOCTYPE html>
<html lang="pl">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Jednostki Widoku</title>
  <style>
    .viewport-size {
      width: 20vw;
      height: 10vh;
      background-color: lightgreen;
    }
  </style>
</head>
<body>
  <div class="viewport-size">20vw x 10vh</div>
</body>
</html>
20vw x 10vh

Ustawianie minimalnej i maksymalnej szerokości i wysokości

CSS pozwala także na ustawienie minimalnych i maksymalnych rozmiarów elementów za pomocą właściwości min-width, max-width, min-height i max-height.

<!DOCTYPE html>
<html lang="pl">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Min i Max Rozmiary</title>
  <style>
    .resizable {
      width: 50%;
      height: 50%;
      min-width: 200px;
      max-width: 600px;
      min-height: 100px;
      max-height: 400px;
      background-color: lightgoldenrodyellow;
    }
  </style>
</head>
<body>
  <div class="resizable">Min i Max Rozmiary</div>
</body>
</html>
Min i Max Rozmiary

Elastyczny układ strony

<!DOCTYPE html>
<html lang="pl">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Elastyczny Układ Strony</title>
  <style>
    .container {
      display: flex;
      flex-wrap: wrap;
      gap: 20px;
      padding: 20px;
    }

    .box {
      flex: 1 1 calc(33.333% - 40px); /* Trzy kolumny z marginesami */
      padding: 20px;
      border: 1px solid #ccc;
      background-color: #f9f9f9;
    }
  </style>
</head>
<body>
  <div class="container">
    <div class="box">Pierwszy box</div>
    <div class="box">Drugi box</div>b
    <div class="box">Trzeci box</div>
  </div>
</body>
</html>
Pierwszy box
Drugi box
Trzeci box

Rozmiary CSS – podsumowanie

Z pewnością znajomość różnych sposobów ustawiania szerokości i wysokości elementów w CSS jest kluczowa dla tworzenia elastycznych i responsywnych układów stron internetowych. Co więcej wybór odpowiednich jednostek miar zależy od kontekstu i specyficznych wymagań projektu:

  • Jednostki absolutne (piksele) są używane, gdy wymagane są stałe rozmiary.
  • Jednostki względne (procenty, em, rem) są używane do tworzenia elastycznych układów, które dostosowują się do różnych rozmiarów ekranów.
  • Jednostki widoku (vw, vh) są używane do ustawiania rozmiarów względnych w stosunku do wymiarów okna przeglądarki.

Dlatego eksperymentowanie z różnymi jednostkami miar pozwoli lepiej zrozumieć ich zastosowanie i pomoże w tworzeniu bardziej zaawansowanych i estetycznych stron internetowych. Pamiętaj, że kluczem do sukcesu jest praktyka, więc śmiało testuj różne rozwiązania i dostosowuj je do swoich potrzeb.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *