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.
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}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}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}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}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.
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.
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>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> ~~~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}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}Testowanie: Przetestuj stronę w różnych rozmiarach okna przeglądarki, aby upewnić się, że układ odpowiednio się dostosowuje.
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.