@media


Misol

Brauzer oynasi kengligi 600px yoki undan kam bo‘lganda <body> elementining fon rangini "lightblue" ga o‘zgartiring:

@media only screen and (max-width: 600px) {   body {     background-color: lightblue;   } }
O‘zingiz sinab ko‘ring »

Quyida ko‘proq "O‘zingiz sinab ko‘ring" misollari keltirilgan.


ULASHISH

Ta’rif va qo‘llanilishi

CSS @media qoidasi media so‘rovlarda turli media turlari/qurilmalar uchun turli uslublarni qo‘llash uchun ishlatiladi.

Media so‘rovlar yordamida ko‘p narsalarni tekshirish mumkin, masalan:

  • viewport kengligi va balandligi
  • qurilma kengligi va balandligi
  • orientatsiya (planshet/telefon albom (landscape) yoki portret (portrait) rejimidami?)
  • ekran aniqligi (resolution)

Media so‘rovlardan foydalanish statsionar kompyuterlar, noutbuklar, planshetlar va mobil telefonlarga moslashtirilgan uslublar jadvalini (moslashuvchan veb-dizayn) yetkazib berishning ommabop usulidir.

Shuningdek, media so‘rovlar yordamida muayyan uslublar faqat chop etiladigan hujjatlar yoki ekran o‘quvchi dasturlar uchun ekanini belgilashingiz mumkin (mediatype: print, screen yoki speech).

Media turlaridan tashqari media imkoniyatlari (media features) ham mavjud. Media imkoniyatlari foydalanuvchi agenti yoki displey qurilmasining muayyan imkoniyatini tekshirishga imkon berib, media so‘rovlarga aniqroq tafsilotlar qo‘shadi. Masalan, uslublarni faqat ma’lum kenglikdan katta yoki kichik ekranlarga qo‘llashingiz mumkin.


Brauzerlarda qo‘llab-quvvatlash

Jadvaldagi sonlar at-qoidani to‘liq qo‘llab-quvvatlaydigan birinchi brauzer versiyasini ko‘rsatadi.

At-qoida
@media 21 9 3.5 4.0 9


CSS sintaksisi

@media not|only mediatype and (mediafeature and|or|not mediafeature) {   CSS-Code; }

not, only va and kalit so‘zlarining ma’nosi:

not: not kalit so‘zi butun media so‘rovning ma’nosini teskarisiga o‘zgartiradi.

only: only kalit so‘zi media imkoniyatlari bilan yozilgan media so‘rovlarni qo‘llab-quvvatlamaydigan eski brauzerlarning ko‘rsatilgan uslublarni qo‘llashiga yo‘l qo‘ymaydi. Zamonaviy brauzerlarga u ta’sir qilmaydi.

and: and kalit so‘zi media imkoniyatini media turi yoki boshqa media imkoniyatlari bilan birlashtiradi.

Ularning barchasi ixtiyoriy. Biroq not yoki only ishlatsangiz, media turini ham ko‘rsatishingiz shart.

Shuningdek, turli medialar uchun turli uslublar jadvallari ham bo‘lishi mumkin, masalan:

<link rel="stylesheet" media="screen and (min-width: 900px)" href="widescreen.css"> <link rel="stylesheet" media="screen and (max-width: 600px)" href="smallscreen.css"> ....

Media turlari

Media turi (media-type) qurilmaning umumiy toifasini tavsiflaydi.

Qiymat Tavsif
all Standart. Barcha media turidagi qurilmalar uchun ishlatiladi
print Printerlar uchun ishlatiladi
screen Kompyuter ekranlari, planshetlar, smartfonlar va h.k. uchun ishlatiladi

Media imkoniyatlari

Media imkoniyatlari qurilmaning ekran o‘lchami, orientatsiyasi va aniqligi kabi imkoniyatlariga qarab uslublarni qo‘llash uchun ishlatiladi.

Media imkoniyatlari ixtiyoriy bo‘lib, har bir media imkoniyati ifodasi qavslar ichiga olinishi shart.

Qiymat Tavsif
any-hover Mavjud kiritish mexanizmlaridan birortasi foydalanuvchiga elementlar ustiga kursorni olib borish (hover) imkonini beradimi?
any-pointer Mavjud kiritish mexanizmlaridan birortasi ko‘rsatuvchi qurilma (pointing device) hisoblanadimi va agar shunday bo‘lsa, u qanchalik aniq?
aspect-ratio Viewport kengligi va balandligi orasidagi nisbat
color Chiqarish qurilmasida har bir rang komponentiga to‘g‘ri keladigan bitlar soni
color-gamut Foydalanuvchi agenti va chiqarish qurilmasi qo‘llab-quvvatlaydigan ranglarning taxminiy diapazoni
color-index Qurilma ko‘rsata oladigan ranglar soni
device-posture Qurilmaning joriy holatini (posture), ya’ni viewport tekis yoki buklangan holatda ekanini aniqlaydi
display-mode Ilova ko‘rsatilayotgan rejim: masalan, to‘liq ekran yoki picture-in-picture rejimi
dynamic-range Foydalanuvchi agenti va chiqarish qurilmasi qo‘llab-quvvatlaydigan yorqinlik, kontrast nisbati va rang chuqurligi kombinatsiyasi
forced-colors Foydalanuvchi agenti rang palitrasini cheklashini aniqlaydi
grid Qurilma setkali (grid) yoki bitmap ekanligi
height Viewport balandligi
hover Asosiy kiritish mexanizmi foydalanuvchiga elementlar ustiga kursorni olib borish (hover) imkonini beradimi?
inverted-colors Brauzer yoki uning ostidagi operatsion tizim ranglarni teskari aylantiryaptimi?
monochrome Monoxrom (kulrang tusli) qurilmada har bir "rang" uchun bitlar soni
orientation Viewport orientatsiyasi (albom (landscape) yoki portret (portrait) rejimi)
overflow-block Chiqarish qurilmasi blok o‘qi bo‘ylab viewportdan toshib chiqqan kontentni qanday qayta ishlaydi
overflow-inline Inline o‘qi bo‘ylab viewportdan toshib chiqqan kontentni aylantirish (scroll) mumkinmi
pointer Asosiy kiritish mexanizmi ko‘rsatuvchi qurilma (pointing device) hisoblanadimi va agar shunday bo‘lsa, u qanchalik aniq?
prefers-color-scheme Foydalanuvchi och rangli sxemani afzal ko‘radimi yoki to‘q rangli sxemanimi?
prefers-contrast Foydalanuvchi yuqori kontrastli displeyni afzal ko‘radimi?
prefers-reduced-data Foydalanuvchi ma’lumotlardan kamroq foydalanishni afzal ko‘radimi?
prefers-reduced-motion Foydalanuvchi harakatning kamaytirilishini afzal ko‘radimi?
prefers-reduced-transparency Foydalanuvchi shaffoflikning kamaytirilishini afzal ko‘radimi?
ekran aniqligi (resolution) Chiqarish qurilmasining dpi yoki dpcm bilan ifodalangan aniqligi (resolution)
scan Chiqarish qurilmasining skanerlash jarayoni
scripting Skriptlar (masalan, JavaScript) mavjudmi?
shape Viewport doira shaklidami yoki to‘rtburchak shaklidami?
update Chiqarish qurilmasi kontent ko‘rinishini qanchalik tez o‘zgartira oladi
video-dynamic-range Foydalanuvchi agentining video tekisligi va chiqarish qurilmasi qo‘llab-quvvatlaydigan yorqinlik, kontrast nisbati va rang chuqurligi kombinatsiyasi
width Viewport kengligi

Ko‘proq misollar

Misol

Brauzer kengligi 600px yoki undan kam bo‘lganda elementni yashiring:

@media screen and (max-width: 600px) {   div.example {     display: none;   } }
O‘zingiz sinab ko‘ring »

Misol

Media so‘rovlar yordamida viewport kengligi 800 piksel yoki undan katta bo‘lsa, background-color xususiyatini lavender, 400 dan 799 pikselgacha bo‘lsa, lightgreen qilib o‘rnating. Agar viewport 400 pikseldan kichik bo‘lsa, background-color lightblue bo‘ladi:

body {   background-color: lightblue; } @media screen and (min-width: 400px) {   body {     background-color: lightgreen;   } } @media screen and (min-width: 800px) {   body {     background-color: lavender;   } }
O‘zingiz sinab ko‘ring »

Misol

Moslashuvchan navigatsiya menyusini yarating (katta ekranlarda gorizontal, kichik ekranlarda vertikal ko‘rsatiladi):

@media screen and (max-width: 600px) {   .topnav a {     float: none;     width: 100%;   } }
O‘zingiz sinab ko‘ring »

Misol

Media so‘rovlar yordamida moslashuvchan ustunli maket yarating:

/* On screens that are 992px wide or less, go from four columns to two columns */ @media screen and (max-width: 992px) {   .column {     width: 50%;   } } /* On screens that are 600px wide or less, make the columns stack on top of each other instead of next to each other */ @media screen and (max-width: 600px) {   .column {     width: 100%;   } }
O‘zingiz sinab ko‘ring »

Misol

Media so‘rovlar yordamida moslashuvchan veb-sayt yarating:

O‘zingiz sinab ko‘ring »

Misol

Media so‘rovlardan brauzer orientatsiyasiga qarab sahifa maketini o‘zgartirish uchun ham foydalanish mumkin. Faqat brauzer oynasining kengligi balandligidan katta bo‘lganda — ya’ni "Landscape" (albom) deb ataladigan orientatsiyada — qo‘llaniladigan CSS xususiyatlari to‘plamiga ega bo‘lishingiz mumkin.

Orientatsiya albom (landscape) rejimida bo‘lsa, lightblue fon rangidan foydalaning:

@media only screen and (orientation: landscape) {   body {     background-color: lightblue;   } }
O‘zingiz sinab ko‘ring »

Misol

Media so‘rovlar yordamida hujjat ekranda ko‘rsatilganda matn rangini yashil, chop etilganda esa qora qilib o‘rnating:

@media screen {   body {     color: green;   } } @media print {   body {     color: black;   } }
O‘zingiz sinab ko‘ring »

Misol

Vergul bilan ajratilgan ro‘yxat: mavjud media so‘rovga vergul yordamida qo‘shimcha media so‘rov qo‘shing (bu OR operatori kabi ishlaydi):

/* When the width is between 600px and 900px OR above 1100px - change the appearance of <div> */ @media screen and (max-width: 900px) and (min-width: 600px), (min-width: 1100px) {   div.example {     font-size: 50px;     padding: 50px;     border: 8px solid black;     background: yellow;   } }
O‘zingiz sinab ko‘ring »

Tegishli sahifalar

CSS darsligi: CSS media so‘rovlar

CSS darsligi: CSS media so‘rovlar misollari

RWD darsligi: Media so‘rovlar bilan moslashuvchan veb-dizayn

JavaScript darsligi: window.matchMedia() metodi


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!