Hüseyin MERT

Sadece teknoloji değil…

IE için css fantezisi

buzzla tweetle CSS04 Eylül 2009 3

[sourcecode lang="html"]




[/sourcecode]

Evet hiçbir zaman standartlara uymayan tarayıcılar için böyle Şartlı yorumlar (Conditional comments) ile her bir versiyonu için bozulan yerler için ayrı ayrı css yazabilirsiniz. Tabi bu size kalmış yoksa IE6 Uyumu için ie6 için %25 daha fazla ücret talep edebilirsiniz.

CSS’de yarı saydamlık

buzzla tweetle CSS05 Ağustos 2009 4

Defalarca paylaşılmıştır, yazılmıştır. Yine paylaşayım dedim elimin altında olsun. CSS’de saydamlığı tüm tarayıcılarda çalıştırmak için böyle yapmak gerekmiş.
[sourcecode lang="css"]
.yarisaydam {
background: #ccc;
opacity: 0.5;
float:none; /* işe yarıyor */
filter: alpha(opacity = 50); /* IE */
-moz-opacity: 0.5; /* Eski Mozilla, Netscape */
-khtml-opacity: 0.5; /* eski Safari */
zoom: 1; /* position: relative olmayanları IE tanımıyor diye */
}
[/sourcecode]

CSS: @import kullanmak IE için iyi olmuyormuş

buzzla tweetle CSS12 Nisan 2009 1

Birçok sitede import işe yarıyor ancak Steve Souders yaptığı deneyde “don’t use @import ” import ve link kullanımı karşılaştırmış. Karşılaştırması sonucu IE’de paralel indirmede bazen sorunlar olduğunu görmüş. Kendi görüşüm bir sitede iç içe style import ederekten kullanmak çok önemli değilse yapılmaması yönünde. Misal:
style.css
[sourcecode language='css']
@import url(‘reset.css’);
@import url(‘panel.css’);

body{
// gibi gibi
}[/sourcecode]
şimdi performans için çok büyük bir css dosyası yerine bölümler için ayrı css dosyaları ayarlayaraktan hem kullanıcı (client) taraflı daha az veri transferi sağlamış olursunuz hem sunucunuzdan daha az bant harcamış olursunuz.
şimdi sıkı durun size php ile eğer dosya değiştirilmediyse kullanıcıya yeniden dosyayı çektirmemek için bir yöntem var.
[sourcecode language='php']
$last_modified_time = filemtime($file);
$etag = md5_file($file);
header(“Last-Modified: “.gmdate(“D, d M Y H:i:s”, $last_modified_time).” GMT”);
header(“Etag: $etag”);
if (@strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == $last_modified_time ||
trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) {
header(“HTTP/1.1 304 Not Modified”);
exit;
}
[/sourcecode]

* kaynak
zaten tarayıcıların birçoğu eğer değiştirilmediyse dosyayı yeniden çekmiyor :D hatta değişse bile çekmiyor ya, ondan Ajax uygulamarında IE’nin önbelleklemesini (cache) engellemek diye bir çözümü sizlerle paylaşmıştım.

Tabi insan söyleyeceği şeyi söylerken bir ton şey daha araya giriyor siz anladınız diyeceğimi :)

Sayfa: Önceki 1 2