phpKF - php Kolay Forum     
Hakkında  |  Sürümler  |  indirme  |  Telif  |  Kurulum  |  Tema  |  Eklenti  |  Mod  |  Ekip  ]
Forum  |  Portal  |  Yardım  |  Üyeler  |  Arama  |  Giriş  |  Kayıt
 
Forum Ana Sayfası  »  Webmaster Genel  »  HTML ve CSS Stil Şablonları
 »  Css Ile Menü Yapmak - Dikey Açılır Menüler

Yeni Başlık  Cevap Yaz
Css Ile Menü Yapmak - Dikey Açılır Menüler           (gösterim sayısı: 17.595)
Yazan Konu içeriği

boşluk

Sezgin75
[Berk Sezgin]

Kayıt Tarihi: 01.01.2008
İleti Sayısı: 221
Şehir: İstanbul
Durum: Forumda Değil

E-Posta Gönder
Özel ileti Gönder

Konu Tarihi: 06.03.2008- 15:43
Alıntı yaparak cevapla  


Bu tip menüleri javascript ile yapabiliriz. HTML ve CSS ile de daha esnek, kolay düzenlenebilir ve bir çok web tarayıcısı tarafında desteklenen(IE6 ve öncesi dahil) açılır menü yapılabilir. Aslında javascript’e ihtiyaç olmamasına karşın IE7 den önceki sürümler için javascript kodu gerekmektedir.

Açılır menü yapmak için daha önceki menü örneklerinde olduğu gibi sıralanmamış listeleri( <ul> ) kullanacağız. Buradaki fark alt kategorilerin yani üzerine gelince açılacak menünün bir alt sırlanmış liste olarak eklenmesidir.


 Kod Çizelgesi     Dil Seçin: Hepsini Seç
1. <ul id="menu" >
<li><a href="#">Anasayfa</a></li>
<li><a href="#">Haberler</a>
<ul>
<li><a href="#">ş&#382;irket Haberleri </a></li>
<li><a href="#">Yurt içi Haberleri </a></li>
<li><a href="#">Yurt dışı Haberleri</a></li>
</ul>
</li>
<li><a href="#">Ürünler</a>
<ul> <li><a href="#">Tencere</a></li>
<li><a href="#">Tava</a></li>
<li><a href="#">Ütü</a></li>
<li><a href="#">Tost Makinesi </a></li>
<li><a href="#">El Süpürgesi </a></li>
</ul>
</li>
</ul>



Resim Ekleme
lk olarak satır başı boşluklarını ve imgeleri kaldıralım.

 Kod Çizelgesi     Dil Seçin: Hepsini Seç
ul {
margin: 0;
padding: 0;
list-style: none;
width: 150px;
}



Resim Ekleme
Sonra ilk linkleri göreceli olarak konumlandırmalıyız. Bu konumlandırma aslında ikinci kademe açılacak menüye mutlak konumlandırma yapılması için kullanılır.


 Kod Çizelgesi     Dil Seçin: Hepsini Seç
ul li {
position: relative;
}


Bir sonraki adımda da ikincil açılan menüleri konumlandırmak olacaktır. Her birinci linke karşılık gelen ikincil açılır menüler ilkinin sağına konumlandırılmalıdır. Bunun için soldan 149px değeri verilir. 1 piksel sola kaydırılır ki fare ilk linki üzerinde ikinci linkin üzerine glemeden kaybolmasın. Ayrıca ikincil linklerin ilk sayfa açıldığında görünmemesi için display:none özelliği atanır.


 Kod Çizelgesi     Dil Seçin: Hepsini Seç
li ul {
position: absolute;
left: 149px;
top: 0;
display: none;
}



Resim Ekleme

Açılır menü yapısını oluşturmuş olduk şimdi linkleri güzelleştirip menü haline getirmek için önceki menüleri yaparken uyguladığımız kodları uygulayalım. Linklerin kendine has alanlarını tanımlamak için display:block özeliğini kullanalım. Linklerin altındaki çizgiyi kaldırmak için text-decoration:none özelliğini kullanalım. Linkler arasına mesafe vermek için padding verelim. Birde bir zemin rengi tanımı ver kenarlık tanımı yapalım. Üstteki linkin alt kenarlığı ile alttaki linkin üst kenarlığı üst üste bineceğinde alt kenarlık değerini sıfırlayalım.


 Kod Çizelgesi     Dil Seçin: Hepsini Seç
ul li a {
display: block;
text-decoration: none;
background-color: #E2E2E2;
padding: 5px;
border:1px solid #000;
border-bottom:0;
}



Bu kodu yazdığımızda IE linkler arasına boşluk koyacaktır(IE7 de hala bu sorun devam ediyor) bu durumu düzeltmek için:

 Kod Çizelgesi     Dil Seçin: Hepsini Seç
/* IE. gizle \*/
* html ul li { float: left; height: 1%; }
* html ul li a { height: 1%; }
/* IE den gizleme sonu */



Resim Ekleme

En alttaki çizgimiz eksik kalmaması için ilk link ul’sinin alt kenarlık tanım yaparız.


 Kod Çizelgesi     Dil Seçin: Hepsini Seç
ul {
margin: 0;
padding: 0;
list-style: none;
width: 150px;
border-bottom: 1px solid #00;
}



Resim Ekleme

Birincil menü görünümü tamamlandı ancak ikincil menüler görünmüyor. İkincil menüleri göstermek için:

[code]li:hover ul { display: block; }[/code]

Bu kadar basit bir kod menümüzü tamamlar. Ancak bir sorun var ki o da IE7 den öncesi bu kodu desteklemez.

Internet Explorer 7. versiyonuna kadar :hover pseudo sınıfını sadece linklerde ( <a> ) uygulanmasını destekler diğer elementlerde bu özelliğin kullanımını desteklemez.

Peki menümüz böyle mi kalacak hayır. IE6 ve altı için bir javascript kodu yazacağız.

 Kod Çizelgesi     Dil Seçin: Hepsini Seç
startList = function() {
if (document.all&&document.getElementById) {
navRoot = document.getElementById("menu");
for (i=0; i< navRoot.childNodes.length; i++) {
node = navRoot.childNodes;
if (node.nodeName=="LI") {
node.onmouseover=function() {
this.className+=" over";
}
node.onmouseout=function() {
this.className=this.className.replace(" over", "");
}
}
}
}
}
window.onload=startList;


Bu çözümü bize kazandıran arkadaşlara teşekkürü bir borç biliriz ve linkini de yazarız.

Ayrıca aşağıdaki kodu da eklemeliyiz.

 Kod Çizelgesi     Dil Seçin: Hepsini Seç
li:hover ul, li.over ul{ display: block; }



Ayrıca kod daki

 Kod Çizelgesi     Dil Seçin: Hepsini Seç
<ul id="menu" > ve javascriptteki navRoot = document.getElementById("menu")


<ul id="menu" > ve javascriptteki navRoot = document.getElementById("menu")



Cvp:
Yazan Cevap içeriği

boşluk

Chess
[Chess]

Kullanıcı Resmi

Kayıt Tarihi: 27.01.2008
İleti Sayısı: 302
Şehir: Gizli
Durum: Forumda Değil

E-Posta Gönder
Özel ileti Gönder

Cevap Tarihi: 11.03.2008- 00:39
Alıntı yaparak cevapla  


Eline sağlık arkadaşım.

Cvp:
Yazan Cevap içeriği

boşluk

harrypotter
[kim acaba]

Kayıt Tarihi: 25.02.2008
İleti Sayısı: 28
Şehir: İstanbul
Durum: Forumda Değil

E-Posta Gönder
Özel ileti Gönder

Cevap Tarihi: 21.03.2008- 20:06
Alıntı yaparak cevapla  


bide hangi kod sayfası hangi isimle kaydedilecek diye yazsaydın mesela birinci kodlu yeri index.html gibi vs.

Cvp:
Yazan Cevap içeriği

boşluk

Sezgin75
[Berk Sezgin]

Kayıt Tarihi: 01.01.2008
İleti Sayısı: 221
Şehir: İstanbul
Durum: Forumda Değil

E-Posta Gönder
Özel ileti Gönder

Cevap Tarihi: 28.10.2008- 16:23
Alıntı yaparak cevapla  


Birşey farketmezki :)
Css kodları .css olarak kaydedilincek isim önemli değil.

Yeni Başlık  Cevap Yaz



Forum Ana Sayfası  »  Webmaster Genel  »  HTML ve CSS Stil Şablonları
 »  Css Ile Menü Yapmak - Dikey Açılır Menüler

Forum Ana Sayfası


 Bu konuyu 0 kişi görüntülüyor:  0 Misafir, 0 Üye
 Bu konuyu görüntüleyen üye yok.

Benzer konular
Başlık Yazan Cevap Gösterim Son ileti
Konu Klasör phpKF - Dock Menü [ vistada oLan dock menü ] PRNRMLWBMSTR 10 4718 14.09.2011- 16:57
Konu Klasör Açılır pencere ekleme SEBTURKA 2 1590 23.04.2011- 18:06
Konu Klasör Portaldaki bloklar nasıl açılır faruk27 3 2350 05.05.2010- 17:35
Konu Klasör Yönetici menüsü açılır kapanır şeklinde ülkücü 6 3895 14.09.2011- 17:07
Konu Klasör Foruma Youtube dışında nasıl video açılır. DjKorku 6 1192 04.09.2008- 17:16
Konu Klasör menü ByLegenS 3 2047 27.04.2008- 15:15
Konu Klasör portal üst menü Knight 1 1249 25.11.2008- 20:18

Etiketler   Css,   Ile,   Menü,   Yapmak,   Dikey,   Açılır,   Menüler

    Forum Teması:
     

php Kolay Forum (phpKF)   Telif - Copyright © 2007 - 2011   phpKF Ekibi


Tema:   5 Renkli   |   phpKF


- PHP KOLAY FORUM -
 RSS Beslemesini Görmek için Tıklayın   RSS Beslemesini Google Sayfama Ekle   RSS Beslemesini Yahoo Sayfama Ekle