CSS3 media Sorguları Kullanımı

CSS3 öncesinde ortaya çıkan ve farklı ekran ve ortamlar için farklı stil tanımlamayı sağlayan @media kuralı ile ilgili bilgiler yer almakta.

CSS3 @media yenilikleri

CSS3 öncesinde televizyon, yazıcı, projeksiyon gibi cihazlar için stil tanımlayabiliyorduk.

Sadece yazıcı çıktı stil tanımlaması kullanılıyordu.

Akıllı telefonların ve çeşitli boyuttaki cihazların çıkmasıyla farklı ekran boyutları ortaya çıktı.

Bu farklılıklar için CSS3 ile birlikte @media tanımı genişleyerek;

  • yükseklik ve genişlik (height – width),
  • ekran boyutu (device-width – device-hight),
  • ekran yüksekliği (min-width, max-width, min-height, max-height),
  • çözünürlük (resolution) gibi koşullara göre stil tanımlama özelliği eklendi.

CSS3 @media tabletler, iPhone ve Android cihazlara özel stil tanımlamak için kullanılan popüler bir tekniktir.

Medya sorgusu oluşturmak

CSS ile

@media not|only medya-tipi and (koşul) {
    CSS-Kodu;
}

Medya sorguları bir medya-tipi’ne göre sorgulama yapar ve sorgunun doğruluğuna göre CSS kodu uygulanır.

<link rel="stylesheet" media="medya-tipi and|not|only (koşul)" href="stildosyasi.css" />

Yukardaki kullanımda koşul alanına yazılmış olan ifade doğruysa stildosyasi.css içerisinde bulunan CSS kodları sayfaya uygulanacaktır.

CSS3 medya-tipleri

Değer Açıklama
all Tüm ortam tipleri için kullanılır
print Yazıcılar için kullanılır
screen Bilgisayar ekranları, tabletler, akıllı telefonlar vb. cihazlar için kullanılır.
speech Ekran okuyucuları için kullanılır

Örnek medya sorguları

Medya sorguları kullanmanın en iyi ve en çok kullanılan yöntemi CSS dosyası içerisinde CSS ile kullanmaktır.

Örnekte tarayıcı genişliği 600px ve üzerinde ise arka plan rengi açık yeşil, tarayıcı genişliği 599px ve altındaysa arka plan rengi açık mavi olacaktır.

body {
    background-color: lightblue;
}
@media screen and (min-width: 600px) {
    body {
        background-color: lightgreen;
    }
}

NOT: Medya sorgularını bilgisayarda görüntüleyebilmek için tarayıcı genişliği ile oymanız gerekmektedir.

body {
    background-color: lightblue;
}
@media screen and (min-width: 300px) {
    body {
        background-color: darkred;
    }
}
@media screen and (min-width: 600px) {
    body {
        background-color: darkblue;
    }
}
@media screen and (min-width: 900px) {
    body {
        background-color: darkgreen;
    }
}
@media screen and (min-width: 1200px) {
    body {
        background-color: darkviolet;
    }
}

Ekran aralığı belirlemek

CSS3 @media mantıksal and, not ve only ifadelerini kullanarak belirlemiş olduğumuz aralıktaki değerlere CSS stili vermek isteyebiliriz.

Aşağıdaki örnekte tarayıcı genişliği 600px ve 850px aralığında arka plan rengi koyu yeşil olacaktır.

Diğer durumlarda koyu mavi olacaktır.

body {
    background-color: darkblue;
}
@media screen and (min-width: 600px) and (max-width: 850px) {
    body {
        background-color: darkgreen;
    }
}

NOT: Konunun daha iyi anlaşılabilmesi için sayfa arka plan rengi değişikliği yaptım.

Siz istediğiniz sınıf, id veya etiketin istediğiniz özelliğini (yazı boyutu, yazı rengini, padding, margin) değiştirebilirsiniz.

CSS3 Derslerine buradan ulaşabilirsiniz…

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!