Van.GEN.TR Forum | Yerel Van Forumu

Van.GEN.TR Forum | Yerel Van Forumu (http://forum.van.gen.tr/index.php)
-   CSS (http://forum.van.gen.tr/forumdisplay.php?f=109)
-   -   CSS ile Menü Oluþturmak V - Resimli Menüler (http://forum.van.gen.tr/showthread.php?t=2357)

gokhanaygun 24/04/07 00:15

CSS ile Menü Oluþturmak V - Resimli Menüler
 
Arkaplan Resmi kaydýrmaca" ile Resimli Menüler
Arkaplan Resmi kaydýrmaca tanýmlamasýný cemsid‘den aldým. CSS ile menü yapýmý serimize devam ediyoruz. CSS ile yapýlan bir çok menü örneði mevcut biz burada bunlarý katagorize edip her bir katagoriye bir örnek yaparak mantýðýný anlatmaya çalýyoruz, mantýðýný anladýktan sonra CSS ile yapýlan tüm menüleri yapabileceðimize inanýyorum.

CSS menülerinin vazgeçilmezi sýrasýz listeleri(<ul>) kullanarak her bir linkin iki resimi bulunan(bir normal hali, diðeri fare imlecinin üzerine gelince görünecek resim) menü oluþturacaðýz.

Bu menü sayfa yüklenmeden yüklendiði için javascript ile yapýlan rollover menülerden avantajlýdýr ve Internet Explorer’da Temporary Internet Files > Settings > ‘Every visit to page.’ seçeneði seçili olan kullanýcýlar için biçilmiþ kaftandýr. Ayrýca CSS ile yapýlan menülerdeki avantajlara(kolay ekleme ve düzenleme, esnek yapý vb.) sahiptir tabi ki.

Bu metod cemsid’inde açýkladýðý gibi arkaplan resmi(background-image) kaydýrarak yapýlýyor. Genelde bu tip menüler resim içeren veya anti-aliased metinlerin kullanýldýðý durumlarda kullanýlýr.

<ul id="menu" >
<li id="elma"><a href="#" title="Elma">Elma</a></li>
<li id="armut"><a href="#" title="Armut">Armut</a></li>
<li id="muz"><a href="#" title="Muz">Muz</a></li>
<li id="kivi"><a href="#" title="Kivi">Kivi</a></li>
</ul>
Görüldüðü gibi diðer menü baþlangýcýndan farký olmayan-bir ek hariç- bir kodlama. Hariç olan ek her menu elemanýna bir id atamamýz. Çünkü her menü elemaný için bir resim tanýmlamasý yapacaðýz. Manav dükkaný açýyoruz :)

þžimdi menümüzü oluþturan resimi hazýrlamaya geldi sýra. Menü resmini oluþtururken bir normal halini ve hemen altýna fare imleci üzerine geldiðindeki halini koyup resmi kaydedeceðiz. Bu iþlem için Photosohop, Firefowrk, PaintShopPro vb. programlar kullanabilrisiniz.



Menüdeki margin, padding ve imgeleri kaldýralým. Boyutlarýný ve konumunu tanýmlayalým:

ul#menu {
height: 54px;
width: 500px;
margin: 0;
padding: 0;
position: relative;
}


Menümüzü yatay olarak sýralamak için

ul#menu li {
list-style: none;
position: absolute;
}


Menü elemanlarýnýn yükseklikleri sabit olduðu için hepsine ortak tanýmlama yapýyoruz, hepsini kendine has kapsama alaný olmasý için blokladýk(display:block) ve konumlandýrdýk(postion:relative).

ul#menu li a {
height: 54px;
display: block;
position:relative;
}
Her menü elemaný için kendi geniþliði ve arkaplan resmindeki(menu.jpg) yerini belirleyelim.

#elma a{
width:130px;
background: url(images/menu.jpg) 0 0 no-repeat;
}
#armut a{
width:142px;
background: url(images/menu.jpg) -130px 0 no-repeat;
}
#muz a{
width:120px;
background: url(images/menu.jpg) -272px 0 no-repeat;
}
#kivi a{
width:108px;
background: url(images/menu.jpg) -392px 0 no-repeat;
}
ve tüm menü elementlerinin soldan konumu belirleyelim.

#elma {left: 0px;}
#armut {left: 130px;}
#muz {left: 272px;}
#kivi {left: 392px;}


Resimler üzerindeki metinleri kaldýrmak için

ul#menu li a {
text-indent: -9999px;
text-decoration: none;
}


Menümüz tamam. þžimdi de rollover efekti vermek için a:hover arkaplan resimlerinin konumunu belirleyelim. Konumunu yazarken sadece yükseliði üstten konumu deðiþtirdiðimize dikkat edin.

#elma a:hover{
width:130px;
background: url(images/menu.jpg) 0 -54px no-repeat;
}
#armut a:hover{
width:142px;
background: url(images/menu.jpg) -130px -54px no-repeat;
}
#muz a:hover{
width:120px;
background: url(images/menu.jpg) -272px -54px no-repeat;
}
#kivi a:hover{
width:108px;
background: url(images/menu.jpg) -392px -54px no-repeat;
}


Son olarakta bir bölümde olduðunda o bölümün aktif görünmesini saðlamak için, genel de bunu için a:hover durumu normal durum olarak tanýmlanýr. Bizde öyle yapalým. Mesela Muz bölümünde olduðumuzu farz edelim.

<ul id="menu" >
<li id="elma"><a href="#" title="Elma">Elma</a></li>
<li id="armut"><a href="#" title="Armut">Armut</a></li>
<li id="muz"><a href="#" title="Muz" class="secili" >Muz</a></li>
<li id="kivi"><a href="#" title="Kivi">Kivi</a></li>
</ul>
#elma a.secili{
width:130px;
background: url(images/menu.jpg) 0 -54px no-repeat;
}
#armut a.secili{
width:142px;
background: url(images/menu.jpg) -130px -54px no-repeat;
}
#muz a.secili{
width:120px;
background: url(images/menu.jpg) -272px -54px no-repeat;
}
#kivi a.secili{
width:108px;
background: url(images/menu.jpg) -392px -54px no-repeat;
}

Neutralizer 01/03/08 22:13

paylaşım için sağol

Bur2 14/03/08 20:39

paylaşım için tşkler

firari 04/08/08 09:37

tşkler...


Bütün Zaman Ayarları WEZ +3 olarak düzenlenmiştir. Şu Anki Saat: 17:50 .

Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.