Css de kodumuzu İE6′dan gizleme
Bir kodu İE’den gizlemek istiyorsak
p{
color:red !important; /* bu kısmı ie6 görmeyecek*/
color:blue;
}
sayfa için kullandığımız paragraflar ie6 mavi ff kırmızı görünecektir.
!important css ile etkinlik için kullanılan bir etikettir. !important tanımlı özellik daha önce yapılmış aynı özelliğin üzerine çıkar. CSS ile etkinlik hakkında daha fazla bilgi için tıklayınız.
Arkadaşlar IE herhangi bir elemana en son verilen değeri değerlendirmeye alır. “Madem en son bu değeri verdi, son kararı bu herhalde…” şeklinde düşünür. Dolayısı ile yukarıdaki örnekte P’nin IE’de mavi görünmesinin sebebi “!important”ın gizleme yapması değildir. En son “blue” değerini gördüğü için P’yi mavi gösterir. İsterseniz renklerin sırasını değiştirerek (aşağıdaki gibi) test edin; göreceksiniz ki P IE’de bu defa kırmızı renkli (!important’lı olmasına rağmen!).
Aslında Fatih arkadaşımız tersinden anlatmış sayılır. Şöyle: Firefox verilen değerin sırasına değil, ona verilen öneme dikkat eder. “important” İngilizce “önemli” demektir (görevi de Hasan arkadaşımızın belirttiği gibidir). Dolayısı ile Firefox son değer (Fatih’in örneğinde) “blue” olmasına rağmen “önemli(important)” vurgusu yapılan “red”i dikkate alır. Aslında bu işimize yarayabilir. Aynı elemana IE için ayrı, Firefox için ayrı iki değer atayabiliriz. Kolay gelsin!
Bu yazıyı yazdığım da sadece ie6 vardı ve başlığı ie diye atmıştım. Sonra ie 6 diye düzelttim. Sorun ve çözüm ie 6 için geçerlidir.
Evet dediğiniz doğru ancak burada biz important’ın ne manaya geldiğini değil ie6 ve öncesindeki(ie7 destekliyor) kodlarımız gizlemek için de kullanılabilen kısa bir yöntem olduğunu belirtiyoruz. Bunun gibi http://www.fatihhayrioglu.com/?page_id=119 sayfamızda CSS Problemleri ve Çözüm Öneriileri başlığının altındaki bir çok problem çözüm yönteminde de bu durum söz konusu aslında kendi amaçları için değil problemin çözümü için sorunlu web tarayıcısından kodu gizlemek için kullanılmaktadır. http://www.fatihhayrioglu.com/?p=242okumanızı tavsiye ederim.
yanlış bilgi veriyorsunuz !important bir satırı ie den gizlemek için değil! kullanıcı tarayıcı ayarlarını değiştirse bile bu ayarın kesinlikle değiştirilemeyeceğini belirtir ve genellikle font ile birlikte kullanılır! lütfen dikkat
yunus sadece important eklenen özelliği ie göremeyecektir. Burada ilk color özelliği mesela
tam lazım olduğunda burdan buldum süper bişi valla :)
teşekkürler
sadece !important yazılan satırdaki style mı ie tarandından görünmüyor?
yoksa !important yazılan satır ve ondan sonra gelen satırlarm?
buradaki amaç ie den gizlemek olduğu için bu kullanım bize yaramayacaktır.
p {color: red !important}
p {color: blue}
p.fuchsia {color: fuchsia}
body {font-size: 34px; font-weight: bold}
—————————————————
bu şekilde ie dede kırmızı oluyor.
bu important özelliğinin kullanılış şekli. sorun çıkarmayacaktır.
Hep merak etmiştim şu !important ne işe yarıyor diye :) Öğrendiğim iyi oldu ama birşey sormak istiyorum. Validator araçlarından geçiyor mu bu?