support kuralı ile CSS özelliklerinin kontrolü

Bir özelliğin tarayıcılar tarafından desteklenip desteklenmediğini genelde javascript ile kontrol ediyoruz. @support kuralı sayesinde artık CSS ile bu kontrolü yapabiliyoruz.

@media kuralına benzer basit bir kullanımı var. Farklı tarayıcılar için kod yazmaya ihtiyaç duyan bizler için çok süper bir özellik. Modernizr’ın javascript ile yaptığını css ile yapacağız artık.

Basit Yapısı

{% highlight css %} @supports(ozellik:deger) { /* stilleri buraya yaz */ } {% endhighlight %}

Bir örnek yapacak olursak;

{% highlight css %} @supports (display:flex) { section { display: flex } } {% endhighlight %}

Tarayıcı eğer display:flex’i destekliyorsa bu blok css’e eklenecektir.

@media kuralı gibi and, or ve not operatörleri kullanılabilmektedir.

ve(and) operatörü

Birden fazla koşula bağlı sorgular oluşturabiliyoruz.

{% highlight css %} @supports (display: table-cell) and (display: list-item){ ... } {% endhighlight %}

veya(or) operatörü

Veya operatörü yardımı ile iki koşul öne sürüp birisinin gerçekleşmesi durumu için css tanımları yapılabiliyor. Örneğin farklı tarayıcı önekleri için;

{% highlight css %} @supports (display: -webkit-flex) or (display: -moz-flex) or (display: flex) { /* stiller buraya */ } {% endhighlight %}

Olumsuzluk(not) operatörü

Desteklemiyorsa sorgusu için not operatörünü kullanabiliyoruz.

{% highlight css %} @supports not (display: flex) { div { float: left; } /* alternatif stil */ } {% endhighlight %}

Tarayıcı Desteği

Yeni nesil tarayıcılar desteğini sunarken İnternet Explorer’ın ve mobil tarafının eksik kalması işin kötü kısmı. Asıl İnternet Explorer için gerekli bir özellik aslında :D

Tarayıcı Desteği

Chrome explorer Firefox
28 desteklemiyor 22
{: .tarayici-uyumi}

Mobil Tarayıcılar

Android Mobil Safari Chrome
4.4 desteklemiyor 35.0
{: .tarayici-uyumi}

Kaynaklar

Read more

CSS'de lightdark() fonksiyonuyla kolayca koyu / açık mod yazımı

CSS'de lightdark() fonksiyonuyla kolayca koyu / açık mod yazımı

Bir önceki yazımda bahsettiğim gibi CSS'in yeni özelliklerinin bazıları çığır açan özellikler, bazıları kulllanıcı deneyimini iyileştirme yönünde özellikler bazıları da lightdark() fonksiyonu gibi yazım kolaylığı sağlayan özellikler. lightdark() fonksiyonu mevcut uyumlu web yazımındaki büyük sorun olan aşağıdaki kullanımı daha anlaşılır ve düzenli hale getirmeye yarıyor. :root { color-scheme: light

By Fatih Hayrioğlu