Media Responsive — chuqurroq
Responsive rasmlar, moslashuvchi grid va flex, mobile menyu va dark/light tema orqali zamonaviy saytlar qurish.
Responsive — chuqurroq
Endi faqat matn emas — butun layout, rasmlar va menyu ham telefonda chiroyli bo'lsin.
Dars rejasi
6 ta mavzu1. 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}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'yadi9 minmax(240px,1fr) — har bir ustun kamida 240px, bo'lsa ortiqchasini bir xil bo'ladi10*/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}4. Mobile menyu — hamburger
Desktop'da menyu yonma-yon, telefonda esa hamburger tugmasi bosilganda ochiladi. CSS-only variant — checkbox hiylasi bilan JavaScriptsiz ham ishlaydi.
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.
Kichik test
0 / 41.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?