
NDesign-Studio tasarımcısı Nick, WebDesignerWall adlı tasarım sitesinde CSS ile desenli ve gradient efektli yazıların nasıl oluÅŸturulabileceÄŸini anlatmış. Javascript veya Flash’a gerek duymadan sadece CSS tekniÄŸini kullanarak “span” eki yardımıyla oluÅŸturulabilen efektler, istenirse geliÅŸitilebilir ve daha güzel görünümler haline getirilebilir. Nick, Önemli olan Tarayıcı desteÄŸi hakkında da ipuçları vermis. Firefox, Safari, Opera ve hatta internet explorer 6′nın bu özelliÄŸi desteklediÄŸini belirtmiÅŸ. Tabii benim izlenimlerime göre bu css özelliÄŸi internet explorer 6 tarayıcısında (PNG hack eklentisi olmadan) doÄŸru çalışmıyor. Internet Explorer 6 için PNG tekniÄŸinin Javascript ile çalıştırılması gerekiyor
Yararları:
- Bu bir CSS tekniğidir, Javascript veya Flash gerektirmez. İnternet Explorer 6 dahil (png tekniği ile) en popüler Tarayıcıları destekler.
- Header yani sitenin üst kısımları için idealdır. Özel olarak Photoshop ile uğraşmazsınız. Bu teknik size zaman ve sitenize band genişliği kazandırır.
- Bu teknik Her yazı tipini ve boyutunu destekler.
Nasıl çalışır ?
Teknik çok basit. Temel olarak 1px genişliğinde bir Saydam PNG dosyasını Yazının üstünde gösteririz. PNG dosyasındakı Gradient efekti arkaplan rengi ile uyumlu ise, Bu da yazıya güzel görünümler kazandırır.
Kullanılan HTML kodu:
<h1><span></span>CSS Gradient Text</h1>
CSS Kodu
h1 {
font: bold 330%/100% “Lucida Grande”;
position: relative;
color: #464646;
}
h1 span {
background: url(gradient.png) repeat-x;
position: absolute;
display: block;
width: 100%;
height: 31px;
}
ve hepsi bu. buradan önizlemelerini görebilirsiniz. dosyalara da şuradan ulaşabilirsiniz.
İE 6 ile çalışması için şu kodu çalıştırmanız gerekiyor.
<head>kodu altında herhangi bir yere ekleyiniz.
<!--[if lt IE 7]>
<style>
h1 span {
background: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’gradient.png’, sizingMethod=’scale’);
}
</style>
<![endif]–>
Internet Explorer için ekstra bir kod çalıştırılmasının da IE’den nefret etmek için yeterli bir sebep olduÄŸu belli.