Media Responsive — chuqurroq

DarslarWeb dasturlash

Media Responsive — chuqurroq

Responsive rasmlar, moslashuvchi grid va flex, mobile menyu va dark/light tema orqali zamonaviy saytlar qurish.

45 daqiqa
CSS Advanced — Dars 17

Responsive — chuqurroq

Endi faqat matn emas — butun layout, rasmlar va menyu ham telefonda chiroyli bo'lsin.

gridobject-fithamburgerprefers-color-scheme

Dars rejasi

6 ta mavzu
  1. 01Responsive rasmlar
  2. 02Responsive grid (auto-fit)
  3. 03Flex va wrap
  4. 04Mobile menyu (hamburger)
  5. 05prefers-color-scheme — dark mode
  6. 06Responsive layout — blog skeleton

1. Responsive rasmlar

Oddiy rasm telefonda chetdan chiqib ketishi mumkin. Yechim — rasmga max-width: 100% va height: auto berish.

1img {
2 max-width: 100%; /* konteynerdan chiqmaydi */
3 height: auto; /* nisbat saqlanadi */
4 display: block;
5}
1.avatar {
2 width: 80px;
3 height: 80px;
4 border-radius: 50%;
5 object-fit: cover; /* proporsiya saqlanadi, kesiladi */
6 object-position: center; /* markazga fokuslanadi */
7}
object-fit farqi
Natijajonli

2. Responsive grid — auto-fit siri

Eng kuchli responsive hiyla: grid-template-columns'da repeat(auto-fit, minmax(...)) ishlatish. @media ham kerak emas — grid o'zi ustunlarni sozlaydi.

1.wrap {
2 display: grid;
3 gap: 16px;
4 grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
5}
6
7/*
8 auto-fit — imkon qadar ko'p ustun qo'yadi
9 minmax(240px,1fr) — har bir ustun kamida 240px, bo'lsa ortiqchasini bir xil bo'ladi
10*/
Sehrli grid — preview eniga qarang
Natijajonli

3. Flex va wrap

flex-wrap: wrap — elementlar konteynerga sig'masa, avtomatik pastga tushadi. Responsive navbar yoki tag ro'yxatlari uchun juda qulay.

1.teglar {
2 display: flex;
3 flex-wrap: wrap;
4 gap: 10px;
5}
6
7.teg {
8 flex: 1 1 120px; /* o'sishi mumkin, qisqarishi mumkin, boshlang'ich 120px */
9}
Flex wrap — taglar ro'yxati
Natijajonli

Desktop'da menyu yonma-yon, telefonda esa hamburger tugmasi bosilganda ochiladi. CSS-only variant — checkbox hiylasi bilan JavaScriptsiz ham ishlaydi.

CSS-only hamburger menyu
Natijajonli

5. prefers-color-scheme — avtomatik dark mode

Zamonaviy qurilmalarda foydalanuvchi tizimda dark yoki light tema tanlaydi. @media (prefers-color-scheme: dark) — saytingiz uni aniqlab, avtomatik moslashadi.

1:root {
2 --bg: #ffffff;
3 --text: #0f172a;
4 --card: #f8fafc;
5}
6
7@media (prefers-color-scheme: dark) {
8 :root {
9 --bg: #0f172a;
10 --text: #f1f5f9;
11 --card: #1e293b;
12 }
13}
14
15body { background: var(--bg); color: var(--text); }
16.card { background: var(--card); }

6. Responsive layout — blog skeleton

Endi hammasini birlashtiraylik: telefonda bitta ustun, tablet'da ikki, noutbukda uch ustun bo'lgan to'liq blog layout.

To'liq responsive blog layout
Natijajonli

Kichik test

0 / 4

1.Rasm konteynerdan chiqib ketmasligi uchun?

2.@media yozmay responsive grid qilish uchun?

3.prefers-color-scheme — bu nima?

4.Rasm quti o'lchamini to'ldirsin, cho'zilmasdan kesilsin — qaysi xossa?

Mustaqil ish

0 / 5