Css menü dekorasyonu. Dikey parlak jQuery menüsü. jQuery açılır stili

  • 23.05.2019

1. Dikey parlak jQuery menüsü

2. Soğuk etki. Dans menüsü.

4. jQuery kullanarak açılır liste

Bir açılır menü olarak UI öğesinin harika stili.

Fareyi düğmenin üzerine getirdiğinizde, panel yukarıdan kayar.

6. Radyal menüyü görüntülemek için jQuery eklentisi "MobilyBlocks"

7. Sprite kullanan menü

Parlama efektli animasyonlu javascript menüsü.

Taze ve güzel jQuery menüsü.

9. jQuery Garaj Kapısı menüsü

10.jQuery dikey kaydırma menüsü

Çok sayıda öğe içeren bir menünün uygulanması. Fare imlecini yukarı veya aşağı hareket ettirdiğinizde kayar.

11.jQuery açılır stili

12. Sayfa gezinme eklentisi

Sayfada istenen bölüme yumuşak kaydırma. Eklenti "jQuery One Page Navigation".

13. "Animasyonlu İçerik Menüsü" Eklentisi

Yeni jQuery eklentisi. Animasyonlu site navigasyonunun mükemmel uygulaması. Menü öğeleri arasında gezinirken, bir açıklama ve olası bağlantıların bulunduğu bir blok açılır ve seçilen öğeye bağlı olarak, tarayıcı penceresinin boyutundan bağımsız olarak tam ekrana uzanan sayfanın arka planı değişir. Demo sayfasına mutlaka göz atın.

14. jQuery Tatlı Menü eklentisi

Hareketli öğeler içeren animasyonlu menü.

15. Sabit jQuery menüsü

Sayfayı aşağı kaydırdığınızda, menü ekranın üst kısmında sabit kalır.

16. Kaydırıcı Kiti Kaydırılan Menüler

Çok sayıda öğe içeren dikey bir menü uygulamak için. Öğeler arasında gezinme, fare tekerleği kullanılarak veya "Öncekiler" ve "İleri" bağlantıları kullanılarak gerçekleştirilir.

17. Şık CSS3 Menüsü

18. Yeni CSS3 Elma Stili Menüsü

Yeni Apple tarzı menü. Eskisinden daha koyu görünüyor ama daha az sevimli değil.

19. Orijinal jQuery menüsü

Arka plan efektli açılır menü. Alt menü öğeleri yukarı doğru genişler. Bir menü öğesinin üzerine geldiğinizde arka plan görüntüsü değişir.

20. Hareketli jQuery menüsü

Animasyonlu menü. Menü öğeleri, simgeler ve açıklamalar şeklinde sunulur. bir menü öğesinin üzerinde gezinmenin bazı harika etkileri. Hepsini görmek için 8 efekt vardır - demo sayfasındaki Exemple1-Exemple8 bağlantılarını takip edin.

21. "Kaydırma menüsü" XML kaydırma menüsü

Dikey ve yatay menüleri kaydırma. Menüde çok fazla öğe olduğunda iyi bir çözüm.

22. jQuery'deki sitedeki içerik menüsü

Belirli bir alana sağ tıkladığınızda bir menü açılır.

23. Site için dairesel iki seviyeli bir menü

Bir menü öğesi seçildiğinde, alt menü öğeleri sağda görüntülenir.

24. Bulanıklaştırma Menüsü CSS3 ile jQuery CSS3 Menüsü

Orijinal jQuery CSS3 menüsü 7 farklı stilde gelir. Fare imlecini menü öğelerinden birinin üzerine getirdiğinizde, geri kalanı olduğu gibi bulanıklaşıyor.

25. Birkaç muhteşem animasyonlu jQuery CSS3 menüsü

10 yaratıcı animasyonlu menü. Çeşitli efektler ve geçişler içeren yatay ve dikey CSS3 menüleri.

Arşiv ayrıca menünün orijinal PSD dosyasını da içerir.

27. MagicLine Menüsü

Bir menü öğesinin arka planı veya alt çizgisi, fareyi hafif bir gecikmeyle takip ederken, siz öğeden öğeye geçerken arka plan rengini yumuşak bir şekilde değiştirir. Çok güzel bir efekt, sıradışı görünüyor. Dikkat: Efekt operada çalışmıyor

28. Görüntü Baloncukları

Fareyi resimlerden birinin üzerine getirdiğinizde harika etki. Etki, yukarıda açıklanan jQDock'a biraz benzer.

31. Farklı efektlere sahip ilginç jQuery menüleri

Yatay, dikey menü. İlginç etkiler.

32. Harika jQuery Apple Stil Menüsü

34. İlginç efektli jQuery menüsü

36. İlginç jQuery efektli taze menü

Çok ilginç bir etki. Portföy siteleri için mükemmel.

Fareyle üzerine gelindiğinde ilginç küçük resim açılır efekti.

40. Otomatik kaydırmalı açılır liste

Paragraflar arasında güzel geçiş efekti.

42. Harika jQuery menüsü

43. Güzel büyük jQuery menüsü

44. jQuery menülerini kaydırma

Menü öğeleri küçük resimler olarak sunulur.

46. ​​​​jQuery Navigasyon Radyal Menüsü

47 CSS ve jQuery menüleri

Sayfayı aşağı kaydırdıkça yarı saydam hale gelen arama kutusuna sahip bir gezinme çubuğu.

48. Yatay jQuery menüsü

49. Dikey jQuery menüsü

Mükemmel dik menü. İmleci üzerine getirdiğinizde bir menü öğesi açılır.

50. Yatay jQuery menüsü

Bir menü öğesinin üzerine gelindiğinde ilginç efekt.

52. jQuery açılır menüsü

Fare imlecini menünün üzerine getirdiğinizde, öğeleri görünecektir. Görünen öğeler, eklentiyi yapılandırırken yarıçapını ayarlayabileceğiniz bir yay olarak görüntülenir. Bazı tarayıcılarda yay görüntüsünü görmezsiniz, menü doğrudan görüntülenir, ancak bu yine de bu jQuery menü uygulamasının genel izlenimini bozmaz.

53 CSS ve jQuery gezinme çubuğu

Fare imlecini bir menü öğesinin üzerine getirdiğinizde ilginç bir etki.

54. jQuery açılır paneli

Gri tonlamalı yeni animasyonlu menü.

58. jQuery ile sütun site gezintisi

Dikey çubuklar şeklinde sunulan navigasyon için ilginç bir çözüm. Fare imlecini bu şeritlerin üzerine getirdiğinizde, öğe için bir resim ve bir alt menü listesi belirir. Bir alt menü öğesini tıkladığınızda, bir açıklama sayfası görüntülenir. Bu uygulama, tanıtım siteleri veya sunumlar için mükemmeldir. Eklenti demosunu kontrol ettiğinizden emin olun.

59 jQuery site gezintisi

Sitede gezinme, üzerine geldiğinizde ilginç bir animasyon efekti göreceğiniz 4 resim şeklinde sunulur.

60. Gezinti çubuğu içerikle birlikte kayar

Gezinti çubuğu. Ok tıklandığında sayfa kaydırılır. Gezinme, sayfa içeriğiyle birlikte kayar.

61. Çeşitli sosyal hizmetlere sahip jQuery paneli

62. Düzgün animasyonlu jQuery menüsü

63. jQuery Suluboya Fırçaları Menüsü

İnternetteki klasik sitelerin çoğu, ana gezinme öğesi olarak yatay bir menü kullanır. Bazen çeşitli ek özellikler içerebilir - çok düzeyli yapılar, alt öğeler için simgeler, bir arama bloğu, karmaşık listeler vb. Son zamanlarda, blog zaten küçük bir koleksiyona sahipti ve bugün CSS + HTML'de açılır menünün nasıl oluşturulacağına dair 4 pratik örneğe bakacağız. Bilgiler, acemi geliştiriciler ve sitelerinde gezinmeyi değiştirmek isteyenler için yararlıdır.

İlk CSS3 Açılır Menü öğreticisi, bu koleksiyondaki en yeni öğreticidir (Nisan 2016 için). Çözümün artıları: Site için bu yatay açılır menü, alt öğelerde simgeler içerir, uygulama ve CSS kodunun anlaşılması ve uygulanması oldukça basittir.

1. Adım - HTML işaretlemesi

İlk adım, öğeleri için bağlantı bağlantılarıyla (#) HTML'de sırasız bir liste oluşturmaktır. Orada, öğelerden birine, alt menüden sorumlu olacak başka bir iç içe liste ekleyin.

Adım2 - menüyü göster

Sitenin yatay açılır menü öğeleri için gereksiz CSS dolgusunu kaldırın. Aynı aşamada, menü öğelerinin sabit bir genişlik ve yüksekliğini ayarlayacağız ve ayrıca yuvarlatılmış köşeler ekleyeceğiz.

.menu, .menu ul, .menu li, .menu a (kenar boşluğu: 0; dolgu: 0; kenarlık: yok; anahat: yok;) .menu (yükseklik: 40 piksel; genişlik: 505 piksel; arka plan: # 4c4e5a; arka plan: -webkit-linear-gradient (üst, # 4c4e5a %0, # 2c2d33 %100); arka plan: -moz-linear-gradient (üst, # 4c4e5a %0, # 2c2d33 %100); arka plan: -o-linear-gradient (üst, # 4c4e5a %0, # 2c2d33 %100); arka plan: -ms-doğrusal-gradyan (üst, # 4c4e5a %0, # 2c2d33 %100); arka plan: doğrusal gradyan (üst, # 4c4e5a %0,, # 2c2d33 100%); -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;) .menu li (konum: göreceli; liste stili: yok; kayan nokta: sol; ekran: blok; yükseklik: 40 piksel;)

Menu, .menu ul, .menu li, .menu a (kenar boşluğu: 0; dolgu: 0; kenarlık: yok; anahat: yok;) .menu (yükseklik: 40 piksel; genişlik: 505 piksel; arka plan: # 4c4e5a; arka plan: - webkit-linear-gradient (üst, # 4c4e5a %0, # 2c2d33 %100); arka plan: -moz-linear-gradient (üst, # 4c4e5a %0, # 2c2d33 %100); arka plan: -o-linear-gradyan ( üst, # 4c4e5a %0, # 2c2d33 %100); arka plan: -ms-lineer-gradyan (üst, # 4c4e5a %0, # 2c2d33 %100); arka plan: doğrusal gradyan (üst, # 4c4e5a %0, # 2c2d33 %100); -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;) .menu li (konum: göreceli; liste stili: yok; kayan nokta: sol; ekran: blok ; yükseklik: 40 piksel;)

3. Adım - bağlantı tasarımı

Temel stil özelliklerine (yazı tipi, renk, yükseklik) ek olarak, fareyle üzerine gelindiğinde metin renginin yumuşak bir geçişini kullanır ve oluştururuz. Ayrıca, ilk öğeden sola ve sondan sağa kenarlığı kaldırarak menüye ayırıcılar ekleriz.

.menu li a (ekran: blok; dolgu: 0 14 piksel; kenar boşluğu: 6 piksel 0; satır yüksekliği: 28 piksel; metin dekorasyonu: yok; sol kenarlık: 1 piksel düz # 393942; sağ kenarlık: 1 piksel düz # 4f5058; yazı tipi -aile: Helvetica, Arial, sans-serif; yazı tipi ağırlığı: kalın; yazı tipi boyutu: 13 piksel; renk: # f3f3f3; metin gölgesi: 1 piksel 1 piksel 1 piksel rgba (0, 0, 0, .6); -webkit- geçiş: renkli .2s kolay çıkış; -moz-geçiş: renkli .2s kolay çıkış; -o-geçiş: renkli .2s kolay çıkış; -ms-geçişi: renkli .2s kolay giriş -out; geçiş: renkli .2s kolay giriş;) .menu li: ilk çocuk a (sol sınır: yok;) .menu li: son çocuk a (sağ sınır: yok;) .menu li : üzerine gelin> a (renk: # 8fde62;)

Menü li a (ekran: blok; dolgu: 0 14 piksel; kenar boşluğu: 6 piksel 0; satır yüksekliği: 28 piksel; metin dekorasyonu: yok; sol kenarlık: 1 piksel düz # 393942; sağ kenarlık: 1 piksel düz # 4f5058; yazı tipi- aile: Helvetica, Arial, sans-serif; yazı tipi ağırlığı: kalın; yazı tipi boyutu: 13 piksel; renk: # f3f3f3; metin gölgesi: 1 piksel 1 piksel 1 piksel rgba (0,0,0, .6); -webkit-geçişi : renkli .2s kolay giriş; -moz-geçiş: renkli .2s giriş kolaylığı; -o-geçiş: renkli .2s kolay çıkış; -ms-geçişi: renkli .2s kolay giriş- çıkış; geçiş: renkli .2s kolay giriş;) .menu li: ilk çocuk a (sol kenarlık: yok;) .menu li: son çocuk a (sağ kenarlık: yok;) .menu li: üzerine gelin> a (renk: # 8fde62;)

Adım4 - alt menü

CSS'de sitenin bir açılır menüsüne sahip olduğumuz için, iç içe listenin görünümünü de ayarlamalıyız. İlk olarak, dolguyu üstten 40 piksele ve sola 0 piksele ayarlayın + yuvarlatılmış köşeler ekleyin. Alt menüyü göstermek / gizlemek için başlangıçta opacity özelliğini sıfıra ve üzerine gelindiğinde bire ayarladık. Bir alt menünün görünümünün efektini oluşturmak için listenin yüksekliğini sıfıra ve vurgulu = 36 piksele ayarlayın.

.menu ul (konum: mutlak; üst: 40 piksel; sol: 0; opaklık: 0; arka plan: # 1f2024; -webkit-border-radius: 0 0 5px 5px; -moz-border-radius: 0 0 5px 5px; kenarlık -yarıçap: 0 0 5px 5px; -webkit-geçiş: opaklık .25s hareket hızı .1s; -moz-geçiş: opaklık .25s hareket hızı .1s; -o-geçiş: opaklık .25s hareket hızı .1s; -ms-geçişi: opaklık .25s hareket hızı .1s; geçiş: opaklık .25s hareket hızı .1s;) .menu li: hover> ul (opaklık: 1;) .menu ul li (yükseklik: 0; taşma: gizli; dolgu: 0; -webkit-geçiş : yükseklik .25s hareket kolaylığı .1s; -moz-geçiş: yükseklik .25s hareket kolaylığı .1s; -o-geçiş: yükseklik .25s hareket kolaylığı .1s; -ms-geçişi: yükseklik .25s hareket kolaylığı .1s; geçiş: yükseklik .25s hareket kolaylığı .1s;) .menu li: hover> ul li (yükseklik: 36 piksel; taşma: görünür; dolgu: 0;)

Menü ul (konum: mutlak; üst: 40 piksel; sol: 0; opaklık: 0; arka plan: # 1f2024; -webkit-border-yarıçapı: 0 0 5px 5px; -moz-border-radius: 0 0 5px 5px; border- yarıçap: 0 0 5px 5px; -webkit-geçiş: opaklık .25s hareket hızı .1s; -moz-geçiş: opaklık .25s hareket hızı .1s; -o-geçiş: opaklık .25s hareket hızı .1s; -ms-geçişi: opaklık. 25s hareket hızı .1s; geçiş: opaklık .25s hareket hızı .1s;) .menu li: hover> ul (opaklık: 1;) .menu ul li (yükseklik: 0; taşma: gizli; dolgu: 0; -webkit-geçiş: yükseklik .25s hareket kolaylığı .1s; -moz-geçiş: yükseklik .25s hareket kolaylığı .1s; -o-geçiş: yükseklik .25s hareket hızı .1s; -ms-geçiş: yükseklik .25s hareket kolaylığı .1s; geçiş: yükseklik .25s hareket kolaylığı. 1s;) .menu li: hover> ul li (yükseklik: 36 piksel; taşma: görünür; dolgu: 0;)

Bağlantıların genişliğini 100px olarak ayarlıyoruz, sonuncusu hariç tüm öğelerin altına bir kenarlık-alt kenarlık eklenir. Ayrıca dilerseniz alt menü öğelerine de resim koyabilirsiniz (Dikkat! Koddaki resimlerin yollarını kendi kullandıklarınızla değiştirmeyi unutmayınız).

.menu ul li a (genişlik: 100 piksel; dolgu: 4 piksel 0 4 piksel 40 piksel; kenar boşluğu: 0; kenarlık: yok; kenarlık-alt: 1 piksel katı # 353539;) .menu ul li: son çocuk a (kenarlık: yok;) .menu a.documents (arka plan: url (../img/docs.png) tekrarsız 6px merkez;) .menu a.mesajlar (arka plan: url (../img/bubble.png) tekrarsız 6px merkez ;) .menu a.signout (arka plan: url (../img/arrow.png) tekrarsız 6 piksel merkez;)

Menü ul li a (genişlik: 100 piksel; dolgu: 4 piksel 0 4 piksel 40 piksel; kenar boşluğu: 0; kenarlık: yok; kenarlık-alt: 1 piksel katı # 353539;) .menu ul li: son çocuk a (kenarlık: yok;). menü a.documents (arka plan: url (../ img / docs.png) tekrarsız 6 piksel merkez;) .menu a.mesajlar (arka plan: url (../ img / bubble.png) tekrarsız 6 piksel merkez; ) .menu a.signout (arka plan: url (../ img / arrow.png) tekrarsız 6 piksel merkez;)

Ben şahsen uygulama kolaylığını ve simgelerin kullanımını seviyorum. İşte codepen ile son kod:

Josh Riser'ın sürümü, HTML ve CSS'deki önceki açılır listeye görsel olarak benzer. Kodda ">" alt seçici yoktur (çok düzeyli yapılarda kullanışlıdır), ancak yazar daha güzel bir sonuç için CSS3 efektlerinden (geçiş, kutu gölgesi ve metin gölgesi) iyi bir şekilde yararlanır. Kaynaktaki bağlantıya göre, yatay bir açılır menü oluşturma sürecinin açıklaması yok, bu yüzden hemen son kodu vereceğim:

Bu örnekte, CSS'de öğelere ek olarak bir arama bloğunun olacağı bir açılır menünün nasıl oluşturulacağına bakacağız. Benzer bir uygulama genellikle modern olanlarda bulunabilir. Uygulama süresi ve karmaşıklık açısından çözüm, öncekilerden biraz daha karmaşıktır. Mayıs 2013'te yayınlandı, bu nedenle testlerimizde harika çalışmasına rağmen birkaç şeyi düzeltmeniz gerekebilir.

HTML Kodu

Navigasyon için her zaman olduğu gibi sırasız bir liste (nav sınıfı ile) kullanılır. Normal menü öğeleri, liste öğeleridir (li) ve herhangi bir sınıf ve kimlik içermeyen bağlantılar (a href) içerir. İstisna, aşağıdaki kimliklere sahip bu yatay açılır menünün 3 özel öğesidir:

  • ayarlar - bağlantı resmi;
  • arama - arama ve ilgili düğme içeren bir blok;
  • seçenekler - bir alt menü içerir (alt navigasyon sınıfına sahip bir liste aracılığıyla uygulanır).

Ayrıca kodda, CSS özelliklerini önekler olmadan kullanmak için öneksiz bir komut dosyası göreceksiniz. Açılır menünün son HTML'si şöyle görünür:

menü için CSS

1. Temel stiller ve menü öğeleri

İlk olarak, menü öğeleri için Montserrat yazı tipini, koyu gri bir arka planı ve sabit bir yüksekliği belirliyoruz. Tüm öğeler, kayan nokta: sola hizalanır ve göreli olarak konumlandırılır, böylece daha sonra konum: mutlak;

@import url (http: //fonts.googleapis .com / css? family = Montserrat); * (kenar boşluğu: 0; dolgu: 0;) .nav (arka plan: # 232323; yükseklik: 60 piksel; görüntü: satır içi blok;) .nav li (kayan nokta: sol; liste stili türü: yok; konum: göreli; )

@import url'si (http://fonts.googleapis.com/css?family=Montserrat); * (kenar boşluğu: 0; dolgu: 0;) .nav (arka plan: # 232323; yükseklik: 60 piksel; görüntü: satır içi blok;) .nav li (kayan nokta: sol; liste stili türü: yok; konum: göreli; )

2. Bağlantı tasarımı

Temel görünüm + menü öğelerine uygulanır. Yükseklik, nav sınıfındakiyle aynıdır. Menünün başındaki bağlantı görüntüsünün #ayarları için hizalama yapılır.

.nav li a (yazı tipi boyutu: 16 piksel; renk: beyaz; ekran: blok; satır yüksekliği: 60 piksel; dolgu: 0 26 piksel; metin dekorasyonu: yok; kenarlık-sol: 1 piksel katı # 2e2e2e; yazı tipi ailesi: Montserrat , sans-serif; metin-gölge: 0 0 1px rgba (255, 255, 255, 0.5);) .nav li a: vurgulu (arka plan rengi: # 2e2e2e;) #settings a (dolgu: 18 piksel; yükseklik: 24 piksel ; yazı tipi boyutu: 10 piksel; satır yüksekliği: 24 piksel;)

Nav li a (yazı tipi boyutu: 16 piksel; renk: beyaz; ekran: blok; satır yüksekliği: 60 piksel; dolgu: 0 26 piksel; metin süslemesi: yok; kenar-sol: 1 piksel katı # 2e2e2e; yazı tipi ailesi: Montserrat, sans-serif; metin-gölge: 0 0 1px rgba (255, 255, 255, 0.5);) .nav li a: vurgulu (arka plan rengi: # 2e2e2e;) #settings a (dolgu: 18 piksel; yükseklik: 24 piksel; yazı tipi boyutu: 10 piksel; satır yüksekliği: 24 piksel;)

3. Arama bloğu

Bu öğe sabit bir genişliğe sahiptir ve birkaç bölümden oluşur - yeşil bir arka plana sahip bir giriş alanı (#search_text) ve bir arama düğmesi (#search_button). Bazı tarayıcılarda arka plan rengi gri olabilir.

#search (genişlik: 357 piksel; kenar boşluğu: 4 piksel;) #search_text (genişlik: 297 piksel; dolgu: 15 piksel 0 15 piksel 20 piksel; yazı tipi boyutu: 16 piksel; yazı tipi ailesi: Montserrat, sans-serif; kenarlık: 0 yok; yükseklik: 52 piksel ; kenar boşluğu: 0; renk: beyaz; anahat: yok; arka plan: # 1f7f5c; kayan nokta: sol; kutu boyutu: kenarlık kutusu; geçiş: tümü 0.15s;) :: -webkit-input-yer tutucu (/ * WebKit tarayıcıları * / renk: beyaz;): -moz-yer tutucu (/ * Mozilla Firefox 4 - 18 * / renk: beyaz;) :: -moz-yer tutucu (/ * Mozilla Firefox 19+ * / renk: beyaz;): -ms-input-placeholder (/ * Internet Explorer 10+ * / renk: beyaz;) #search_text: odak (arka plan: rgb (64, 151, 119);) #search_button (kenarlık: 0 yok; arka plan: # 1f7f5c url (search.png) tekrarsız merkez; genişlik: 60 piksel; kayan nokta: sol; dolgu: 0; metin hizalama: merkez; yükseklik: 52 piksel; imleç: işaretçi;)

#search (genişlik: 357 piksel; kenar boşluğu: 4 piksel;) #search_text (genişlik: 297 piksel; dolgu: 15 piksel 0 15 piksel 20 piksel; yazı tipi boyutu: 16 piksel; yazı tipi ailesi: Montserrat, sans-serif; kenarlık: 0 yok; yükseklik: 52 piksel ; kenar boşluğu: 0; renk: beyaz; anahat: yok; arka plan: # 1f7f5c; kayan nokta: sol; kutu boyutu: kenarlık kutusu; geçiş: tümü 0.15s;) :: - webkit-giriş-yer tutucu (/ * WebKit tarayıcıları * / renk: beyaz;): -moz-yer tutucu (/ * Mozilla Firefox 4 ila 18 * / renk: beyaz;) :: - moz-yer tutucu (/ * Mozilla Firefox 19+ * / renk: beyaz;): -ms-input-placeholder (/ * Internet Explorer 10+ * / renk: beyaz;) #search_text: odak (arka plan: rgb (64, 151, 119);) #search_button (kenarlık: 0 yok; arka plan: # 1f7f5c url (search.png) tekrarsız merkez; genişlik: 60 piksel; kayan nokta: sol; dolgu: 0; metin hizalama: merkez; yükseklik: 52 piksel; imleç: işaretçi;)

4. Açılır alt menü

Son dokunuş, CSS'de son #options öğesi için etkinleşen bir açılır menünün nasıl oluşturulacağını bize sağlayacaktır.

#options a (border-sol: 0 yok;) #options> a (arka plan resmi: url (triangle.png); arka plan konumu: %85 merkez; arka plan tekrarı: tekrar yok; dolgu sağ: 42 piksel; ) .subnav (görünürlük: gizli; konum: mutlak; üst: %110; sağ: 0; genişlik: 200 piksel; yükseklik: otomatik; opaklık: 0; geçiş: tümü 0,1 saniye; arka plan: # 232323;) .subnav li (kayan : yok;) .subnav li a (kenarlık-alt: 1px katı # 2e2e2e;) #options: hover .subnav (görünürlük: görünür; üst: %100; opaklık: 1;)

#options a (border-sol: 0 yok;) #options> a (arka plan resmi: url (triangle.png); arka plan konumu: %85 merkez; arka plan tekrarı: tekrar yok; dolgu sağ: 42 piksel; ) .subnav (görünürlük: gizli; konum: mutlak; üst: %110; sağ: 0; genişlik: 200 piksel; yükseklik: otomatik; opaklık: 0; geçiş: tümü 0,1 saniye; arka plan: # 232323;) .subnav li (kayan : yok;) .subnav li a (kenarlık-alt: 1px katı # 2e2e2e;) #options: hover .subnav (görünürlük: görünür; üst: %100; opaklık: 1;)

Stillerde, bir alt menüyü belirtmek için bir üçgen arka plan görüntüsü (triangle.png) eki bulacaksınız - bu ve örnekteki diğer resimler için doğru yolu belirtmeyi unutmayın. Bir alt menünün görünümü, opacity özelliği kullanılarak uygulanır. Codepen'de son çözüm:

Bu sürüm esas olarak CSS2.1 tekniklerini ve artı veya eksi yeni çözümü kullanır - Mart 2015 için. Sitenin yatay açılır menüsünde bir alt düzey eksikse, bu örnek aynı anda üç tane içerir. Sadece-çocuk sözde sınıfının yardımıyla, alt menülerin varlığını belirtmek için öğelere bir "+" sembolü eklenir.

Genel olarak, iyi ve karmaşık olmayan bir örnek. Uygulama sürecini ayrıntılı olarak açıklamayacağız, çünkü öncekilere benzer - önce bir HTML tel çerçevesi oluşturursunuz ve ardından yavaş yavaş bunun için stiller eklersiniz. Son kodu bağlantıdan kaynağa indirin, kısmen Codepen'de inceleyebilirsiniz:

Toplam

Yukarıda, nette daha birçok benzer örnek olmasına rağmen, CSS + HTML'de açılır menü yapmak için 4 seçeneğe baktık. jQuery ile ilgili çözümler var, ancak bu büyük olasılıkla yalnızca bazı özel efektlerin ve standart olmayan görevlerin uygulanması için kullanışlıdır. Çoğu durumda, bir grup CSS + HTML yeterli olacaktır, özellikle de artık menü için ana gereksinimler kolaylık ve hızlı yükleme hızı olduğundan.

Son olarak, yukarıdaki kodlar hakkında iki yorum. Bazı örnekler, CSS'deki açılır menü için resimler kullanır, bu nedenle resimlerin yollarına dikkatlice bakmanız ve siteniz için doğru değerleri sağlamanız gerekir. İkincisi, bazı çözümler 2 veya 3 yaşında, bu nedenle performanslarını farklı tarayıcılarda da kontrol etmelisiniz.

Site için yatay açılır menülerin başka ilginç modern uygulamalarını biliyorsanız, yorumlarda bağlantılar gönderin.

Merhaba sevgili blogumun ziyaretçileri! Bugün sitenin ana yatay menüsünden, yani yatay menünün merkeze nasıl hizalanacağından bahsedeceğiz. Evet, ilk bakışta, burada bu kadar zor olan şey - gerekli girintileri ayarlayın, ayarlayın ve bu kadar. Ama burada bazı nüanslar var. Site, her şeyden önce dinamiktir, yani. sitede sürekli olarak yeni içerik belirir, bilgi içeren bazı yeni bloklar görünür, vb. Böylece ana menüdeki bazı öğeler görünebilir / kaybolabilir. Bunu akılda tutarak, bir menü öğesi eklerken veya çıkarırken menünün de ortada kalmasını sağlamalıyız. Tabii ki, onu ortalamak her zaman gerekli değildir, hepsi tasarıma bağlıdır. Ama yine de, ortasına yatay bir menü yerleştirmeyi düşünüyorsanız, o zaman css'de birkaç basit numara uygulayarak istenen sonucu elde edebiliriz.

makale yapısı

Açılır öğeler olmadan orta yatay menü

İlk olarak, açılır öğelerin olmadığı yatay bir menü örneğine bakalım.

HTML Kodu

Css kodu

*, * :: after, * :: önce (-webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box- boyutlandırma: border-box; box-sizing: border-box; kenar boşluğu: 0; dolgu: 0;) #anamenu (arka plan: # 444; konum: göreli; taşma: gizli; yükseklik: 40 piksel; kenar boşluğu: 30 piksel 0) #anamenu ul (liste stili: yok; kenar boşluğu: 0; dolgu: 0; konum: göreli; sol: %50; kayan nokta: sol; yazı tipi: 14 piksel Arial, Helvetica, sans-serif; yükseklik: 40 piksel) #mainmenu ul li (konum : göreceli; sol: -%50; kayan nokta: sol; kenar boşluğu: 0 10 piksel; yükseklik: 40 piksel) #mainmenu ul li a (renk: #fff; görüntü: blok; metin dekorasyonu: yok; dolgu: 0 15 piksel; satır- yükseklik: 40 piksel;) #mainmenu ul li a: vurgulu (arka plan rengi: # 666;)

Her şeyi sırayla sıralayalım, burada her şey basit. Menümüzü sırasız bir liste olarak yerleştirdiğimiz bir "ana menü" kapsayıcı oluşturuyoruz.

Şimdi css stillerine geliyor. İlk olarak, tüm tarayıcılar için tüm kenar boşluklarını ve dolguyu sıfırlıyoruz. Ardından, "float: left" özelliğini kullanarak sırasız listemizi sola kaydırıyoruz ve ardından göreceli konumlandırma ile %50 sağa kaydırıyoruz. "ul" listesinin genişliği, içindeki tüm "li" öğelerinin uzunluklarının toplamına eşit olacaktır. Böylece, tarayıcı penceresini zihinsel olarak ikiye bölersek, menümüz bölünmüş satırın sağına gider. Hizalamak için, "li" öğelerine de göreli konumlandırma uygulayacağız ve "left: -%50" özelliğini belirterek bunları %50 sola kaydıracağız. Ve ayrıca, neredeyse unutuyordum, konteynerimizin "ana menü" özelliği mutlaka belirtilmelidir. taşma: gizli aksi takdirde yatay bir kaydırma çubuğu alırız.

İşte bu, şimdi menümüz ortalandı. Şimdi ekleyebilir, en azından puan çıkarabilirsiniz, bu konumlandırmayı etkilemeyecektir. Bu menüyü sitelerinizde sadece stilleri tasarımınıza uyacak şekilde değiştirerek de kullanabilirsiniz.

Açılır öğelerle ortada yatay menü

Şimdi açılan alt öğelere bir göz atalım. Buradaki durum biraz farklı ve biraz daha karmaşık, çünkü İlk durumda, "mainmenu" bloğuna "overflow: hidden" özelliğini belirttiğimiz için alt öğelerimiz düşmeyecektir. Bu, bu bloğun dışındaki öğelerin gösterilmeyeceği anlamına gelir. Ama bir çıkış yolu var.

Bu yüzden önceki kodu değiştirdim ve "overflow: hidden" özelliğini ondan kaldırdım.

HTML Kodu

CSS kodu

*, * :: after, * :: önce (-webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box- boyutlandırma: border-box; box-sizing: border-box; kenar boşluğu: 0; dolgu: 0;) #mainmenu (konum: göreli; arka plan: # 444444; yükseklik: 40 piksel; kenar boşluğu: 30 piksel 0; dolgu: 0; kayan nokta: sol; genişlik: %100; z-endeksi: 10) #mainmenu ul (temizle: sol; konum: göreli; sağ: %50; yükseklik: 40 piksel; kayan nokta: sağa; metin hizalama: merkez; yazı tipi: 15 piksel Arial, Helvetica , sans-serif; liste stili: yok; dolgu: 0; kenar boşluğu: 0) / ** Ana noktalar ** / #mainmenu> ul> li (konum: göreceli; sol: %50; kayan nokta: sol; yükseklik: 40 piksel ; dolgu: 0; kenar boşluğu: 0) #mainmenu> ul> li> a (sınır-sol: 1 piksel katı # 666; görüntü: blok; renk: #fff; metin dekorasyonu: yok; dolgu: 0 20 piksel; satır yüksekliği : 40px;) #mainmenu> ul> li: first-child> a (border: none) #mainmenu> ul> li: hover> a, #mainmenu> ul> li.hover> a, #mainmenu> ul> li. aktif> a (renk: #fff) #mainmenu> ul> li: vurgulu, #mainmenu> ul> li.ho ver, #mainmenu> ul> li.active (arka plan: # 666) / * Açılan alt noktalar * / #mainmenu ul li ul (konum: mutlak; sol: 0; üst: 40 piksel; görüntü yok; liste stili: yok; görünürlük: gizli; dolgu: 0; kenar boşluğu: 0; genişlik: 200px) #mainmenu> ul> li ul li (arka plan rengi: # 666; konum: göreceli; sol: 0; görüntü: liste öğesi; kayan nokta: yok; yükseklik: otomatik; kenar boşluğu: 0; metin hizalama: left;) #mainmenu ul li ul li a (kenarlık-alt: 1px katı # 999; ekran: blok; renk: #fff; dolgu: 10px 15px; metin dekorasyonu: yok;) #mainmenu ul li ul li.parent a (pozisyon: göreceli;) #mainmenu ul li ul> li.parent> a :: önce (kenarlık-üst: 1 piksel katı #fff; kenar-sağ: 1 piksel katı #fff; içerik: ""; ekran: blok; konum: mutlak; sağ: 15 piksel; üst: %50; dönüştürme: çevirY (-50%) döndürme (45 derece); yükseklik: 6 piksel; genişlik: 6 piksel;) #mainmenu ul li ul li: vurgulu, #mainmenu ul li ul ul li.hover (arka plan rengi: # 444) #mainmenu ul li: hover ul, #mainmenu ul li.hover ul (ekran: blok) / * İkinci seviye açılır menüler * / #mainmenu ul li: hover> ul (opaklık: 1; görünürlük : görünür; kenar boşluğu: 0;) #mainmenu ul li ul li ul (üst: 0; sol: 200 piksel; kenar boşluğu: 0 0 0 20 piksel; genişlik: 180 piksel)

Artık menümüz ortalandı ve fareyle üzerine gelindiğinde alt öğeler düşüyor.

Flexbox ile orta hizalama menüleri

Menüyü merkeze hizalayın ayrıca css - flexbox'ta yeni bir kural uygulayabilirsiniz. Genel olarak, flexbox püf noktalarına ayrı bir gönderi ayırmak istiyorum, buna değer, mizanpaj tasarımcısının hayatını büyük ölçüde basitleştiriyor. Genel olarak burada derine inmeyeceğiz... Burada sadece açılır öğeler içeren menü için css kodunu vereceğim. HTML kodu yukarıdaki ile aynıdır.

CSS kodu

*, * :: after, * :: önce (-webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box- boyutlandırma: border-box; box-sizing: border-box; kenar boşluğu: 0; dolgu: 0;) #ana menü (konum: göreli; arka plan: # 444444; yükseklik: 40 piksel; kenar boşluğu: 30 piksel 0; dolgu: 0; genişlik: %100; z-index: 10) #mainmenu ul (ekran: -webkit-box; ekran: -webkit-flex; ekran: -ms-flexbox; ekran: esnek; -webkit-box-orient: yatay; -webkit- kutu yönü: normal; -webkit-esnek-yön: satır; -ms-esnek-yön: satır; esnek yön: satır; yükseklik: 40 piksel; metin hizalama: merkez; yazı tipi: 15 piksel Arial, Helvetica, sans-serif ; liste stili: yok; dolgu: 0; kenar boşluğu: 0; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: merkez;) / ** Ana noktalar ** / #mainmenu> ul> li (konum: bağıl; yükseklik: 40 piksel; dolgu: 0; kenar boşluğu: 0) #mainmenu> ul> li> a (sınır-sol: 1 piksel katı # 666; ekran: blok; renk: #fff; metin-dekorasyon: yok; dolgu: 0 20 piksel; satır yüksekliği: 40 piksel; ) #mainmenu> ul> li: first-child> a (border: none) #mainmenu> ul> li: hover> a, #mainmenu> ul> li.hover> a, #mainmenu> ul> li.active> a (renk: #fff) #mainmenu> ul> li: vurgulu, #mainmenu> ul> li.hover, #mainmenu> ul> li.active (arka plan: # 666) / * Açılanlar * / #mainmenu ul li ul ( konum : mutlak; sol: 0; üst: 40 piksel; görüntü: yok; liste stili: yok; görünürlük: gizli; dolgu: 0; kenar boşluğu: 0; genişlik: 200 piksel) #mainmenu> ul> li ul li (arka plan rengi : # 666; konum: göreli; sol: 0; görüntüleme: liste öğesi; kayan nokta: yok; yükseklik: otomatik; kenar boşluğu: 0; metin hizalama: sola;) #mainmenu ul li ul li a (kenarlık-alt: 1 piksel katı # 999; ekran: blok; renk: #fff; dolgu: 10px 15px; metin dekorasyonu: yok;) #mainmenu ul li ul li.parent a (konum: göreceli;) #mainmenu ul li ul> li.parent> a :: önce (kenarlık-üst: 1px düz #fff; kenar-sağ: 1px düz #fff; içerik: ""; görüntü: blok; konum: mutlak; sağ: 15 piksel; üst: %50; t ransform: translateY (-50%) döndürme (45deg); yükseklik: 6 piksel; genişlik: 6 piksel; ) #mainmenu ul li ul li: vurgulu, #mainmenu ul li ul li.hover (arka plan rengi: # 444) #mainmenu ul li: vurgulu ul, #mainmenu ul li.hover ul (ekran: blok) / * Açılır öğeler ikinci seviye * / #mainmenu ul li: hover> ul (opaklık: 1; görünürlük: görünür; kenar boşluğu: 0;) #mainmenu ul li ul li ul (üst: 0; sol: 200 piksel; kenar: 0 0 0 20 piksel; genişlik : 180 piksel)

Gördüğünüz gibi, kurallar sadece ebeveyn listesi için değişti - #mainmenu ul. Tek şey, tarayıcıların önceki sürümleri için önek eklemekti. Yalnızca modern tarayıcıların flexbox kuralını doğru anladığını unutmayın. Daha eski tarayıcıları hedefliyorsanız, esnek seçeneğin ertelenmesi gerekecektir. Hangi tarayıcılar flexbox'ı iyi anlıyor, görebilirsiniz

Merhaba blogumun sevgili okuyucuları! Bugünün makalesi acemi düzen tasarımcıları için çok faydalı olacaktır. Bugünden itibaren sizlerle basit bir yatay menü oluşturacağız. Doğrudan sayfa düzenine geçmeden önce, makale için neden bu konuyu seçmeye karar verdiğime dair birkaç söz söylemek istiyorum.

Aslında, her şey oldukça basit, site için bir sonraki dersin konusunu düşünürken, yerleşim düzeni çalışma deneyimimi hatırlamaya ve analiz etmeye başladım, bir düzen olarak kendim olmanın ilk aşamasında nelerle yüzleşmek zorunda kaldım. bu alanı okurken benim için en anlaşılmaz olan tasarımcı vb. Tüm bu soruları, bir yerleşim tasarımcısı olarak yolculuğuna başlayan bir kişinin nelerin ilgisini çekebileceğini daha iyi anlamak için kendime sordum. Ve kişisel olarak, düzeni incelemeye başlar başlamaz, özellikle çok seviyeli bir menü söz konusu olduğunda, çeşitli menülerin düzeni hakkında en çok soru ortaya çıktı. Ve bugün menü hakkında ve daha spesifik olarak yatay menü hakkında konuşacağız. İşte başlıyoruz!

Yatay menümüzün düzenine başlayalım!

Muhtemelen tahmin ettiğiniz gibi, yapmamız gereken ilk şey standart işaretleme ile bir html sayfası oluşturmak ve stil sayfasını buna bağlamak. Bu adım üzerinde ayrıntılı olarak durmayacağım, çünkü hala size vücudun ve kafanın ne olduğunu ve stillerin nasıl bağlantılı olduğunu ayrıntılı olarak anlatacak kadar acemi olmadığınızı umuyorum. Sadece şunu söyleyeceğim, menümüz için stiller dışında, stilleri sıfırlamak ve tüm tarayıcılarda aynı girintiyi elde etmek için css dosyasına en basit sıfırlamayı yazacağım. En basit sıfırlamam şöyle görünüyor:

Stil sıfırlama konusunda da ayrıntılı bir şey söylemeyeceğim çünkü aslında bu başka bir yazının konusu, yukarıdaki kod hakkında bilmeniz gereken tek şey bu kod sayesinde yazdığımız tüm sayfa öğelerinin kendi özelliklerine sahip olacağı. kenar boşlukları ve kenar boşlukları sıfırlanır.padding, sayfamızın tüm tarayıcılarda aynı görünmesi için bu yapılmalıdır.

Peki bu aşamada elimizde ne var? Standart işaretlemeye sahip bir html sayfamız var:

yatay menü

Ve bu sayfaya bağlı bir stil dosyamız var (benimki style.css), aşağıdaki içeriğe sahip:

Bir sonraki adım, menümüz için html işaretlemesini oluşturmaktır.

Menü için işaretleme oluşturma

İşaretlememizde yeni bir etiket kullanacağız