Usamos cookies para mejorar tu experiencia en el sitio
CodeWorlds

Media Queries

Media Queries to potężne narzędzie w CSS, które pozwala na stosowanie różnych stylów w zależności od charakterystyk urządzenia, takich jak rozdzielczość, orientacja ekranu, gęstość pikseli i inne. Dzięki Media Queries projektanci mogą tworzyć responsywne strony internetowe, które dostosowują się do różnych urządzeń i warunków wyświetlania.

Podstawowe Zastosowania

Szerokość i Wysokość Ekranu

Media Queries pozwalają na stosowanie różnych stylów w zależności od szerokości i wysokości ekranu.

1/* Style dla ekranów o minimalnej szerokości 600px */
2@media (min-width: 600px) {
3  .container {
4    width: 80%;
5  }
6}
7
8/* Style dla ekranów o maksymalnej wysokości 800px */
9@media (max-height: 800px) {
10  .footer {
11    display: none;
12  }
13}

Orientacja Ekranu

Można także wykorzystać Media Queries do detekcji orientacji ekranu (pionowej lub poziomej).

1/* Style dla ekranów w orientacji poziomej */
2@media (orientation: landscape) {
3  .landscape-layout {
4    display: flex;
5  }
6}

Typ Urządzenia

Media Queries pozwalają na stylizację w zależności od typu urządzenia, na przykład drukarki czy projektora.

1/* Style dla wydruku */
2@media print {
3  body {
4    font-size: 12pt;
5    color: black;
6  }
7}

Zaawansowane Techniki

Łączenie Warunków

Możesz łączyć różne warunki w jednym zapytaniu, stosując operatory logiczne takie jak and, not, i only.

1/* Style dla ekranów o minimalnej szerokości 800px i maksymalnej gęstości pikseli 2 */
2@media (min-width: 800px) and (max-resolution: 2dppx) {
3  .header {
4    background-color: blue;
5  }
6}

Użycie Zmiennej CSS

Można także wykorzystać Media Queries razem z zmiennymi CSS, aby stworzyć bardziej dynamiczny i elastyczny kod.

1:root {
2  --main-color: red;
3}
4
5@media (min-width: 800px) {
6  :root {
7    --main-color: blue;
8  }
9}
10
11.header {
12  background-color: var(--main-color);
13}

Media Queries są kluczowym elementem responsywnego projektowania stron internetowych, pozwalając na precyzyjną kontrolę nad wyglądem strony w różnych sytuacjach. Od prostych zastosowań, takich jak dostosowanie szerokości ekranu, po zaawansowane techniki z wykorzystaniem zmiennych CSS, Media Queries oferują szeroki wachlarz możliwości dla nowoczesnych projektantów stron. Opanowanie tej techniki umożliwi tworzenie stron, które są nie tylko atrakcyjne wizualnie, ale także użyteczne i dostępne na różnych urządzeniach i platformach.

Zadanie: Tworzenie Responsywnego Układu

Cel

Stworzenie responsywnego układu strony, który dostosowuje się do różnych rozmiarów ekranu przy użyciu Media Queries oraz jednostek vw, vh, em i rem.

Kroki do Wykonania

  1. Struktura HTML: Utwórz nowy plik HTML i dodaj podstawową strukturę dokumentu.

    1<!DOCTYPE html>
    2<html lang="en">
    3<head>
    4  <meta charset="UTF-8">
    5  <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6  <link rel="stylesheet" href="styles.css">
    7  <title>Responsive Layout</title>
    8</head>
    9<body>
    10  <header class="header">
    11    <h1>Responsive Design</h1>
    12  </header>
    13  <main class="main-content">
    14    <section class="section">
    15      <p>

Przykładowa treść

Tutaj możesz eksperymentować z kodem. </section> <section class="section"> <p>Curabitur pretium tincidunt lacus. Nulla gravida orci a odio.</p> </section> </main> <footer class="footer"> <p>© 2024 Responsive Design</p> </footer>

</body> </html> ~~~
  1. Podstawowy Styl CSS: Dodaj stylizację w pliku

    styles.css
    .

    1body {
    2  font-family: Arial, sans-serif;
    3  margin: 0;
    4  padding: 0;
    5}
    6
    7.header, .footer {
    8  background-color: #333;
    9  color: #fff;
    10  text-align: center;
    11  padding: 1rem 0;
    12}
    13
    14.main-content {
    15  padding: 1rem;
    16}
    17
    18.section {
    19  margin-bottom: 1rem;
    20  padding: 1rem;
    21  background-color: #f4f4f4;
    22}
    23
    24p {
    25  font-size: 1rem; /* 1rem = 16px */
    26  line-height: 1.5;
    27}
    28
    29h1 {
    30  font-size: 2rem; /* 2 * 16px = 32px */
    31}
  2. Responsywne Jednostki i Media Queries: Dodaj media queries i użyj jednostek vw, vh, em i rem.

    1/* Styl dla urządzeń o szerokości minimum 600px */
    2@media (min-width: 600px) {
    3  .main-content {
    4    padding: 2rem;
    5  }
    6
    7  .section {
    8    margin-bottom: 2rem;
    9    padding: 2rem;
    10  }
    11
    12  p {
    13    font-size: 1.2rem; /* 1.2 * 16px = 19.2px */
    14  }
    15
    16  h1 {
    17    font-size: 3rem; /* 3 * 16px = 48px */
    18  }
    19}
    20
    21/* Styl dla urządzeń o szerokości minimum 800px */
    22@media (min-width: 800px) {
    23  .header, .footer {
    24    padding: 2rem 0;
    25  }
    26
    27  .section {
    28    display: flex;
    29    justify-content: space-between;
    30  }
    31
    32  .section p {
    33    font-size: 1.5rem; /* 1.5 * 16px = 24px */
    34  }
    35}
    36
    37/* Styl dla urządzeń o szerokości minimum 1200px */
    38@media (min-width: 1200px) {
    39  .header h1 {
    40    font-size: 5vw; /* 5% szerokości okna przeglądarki */
    41  }
    42
    43  .section {
    44    margin-bottom: 3rem;
    45    padding: 3rem;
    46  }
    47
    48  .section p {
    49    font-size: 2rem; /* 2 * 16px = 32px */
    50  }
    51}
  3. Testowanie: Przetestuj stronę w różnych rozmiarach okna przeglądarki, aby upewnić się, że układ odpowiednio się dostosowuje.

Podsumowanie

Media Queries i responsywne jednostki (vw, vh, em, rem) są kluczowe dla tworzenia nowoczesnych, responsywnych stron internetowych. Dzięki nim możemy dostosowywać układ, rozmiary tekstu i inne elementy w zależności od wielkości ekranu i innych charakterystyk urządzeń. Opanowanie tych technik pozwala na tworzenie bardziej elastycznych, użytecznych i estetycznych projektów internetowych.

Ir a CodeWorlds