Yatay CSS menüsü nasıl yazılır? CSS - düzen tasarımcıları için yatay menü. Bölümler içeren yatay menü

Bu dersten başlayarak, popüler düz stili kullanarak siteyi sıfırdan düzenlemeye başlayacağız. Bu konu çok kapsamlı ve buna birden fazla ders ayıracağız. Pratik ne anlama geliyor?

Serbest çalışan borsada tek taraflı bir site düzenine ilişkin taleplerinizin reddedildiği açıktır. Vekil size .psd şeklinde bir düzen verdi ve sizden HTML tarafını aydınlatmanızı istedi. Düzen tasarımcısının da düzeni resimlere ayırması gerekiyor, ancak bu adımı atlıyoruz, geri kalan zaman Photoshop'ta harcanacak. Bu konuda Photoshop'taki temel dersleri bağımsız olarak keşfedebilirsiniz.

Milletvekilinin nazik bir insan olduğu ve bize düzeni verdiği ve daha sonra resimleri kestiği ortaya çıktı. Bir HTML sayfası oluşturmak için şunlara ihtiyacımız var: bir .psd düzeni, resim içeren bir klasör, Photoshop, Notepad++ ve bir tarayıcı.

Düzenden bahsediyoruz, ancak bu yalnızca tam teşekküllü bir HTML sayfası oluşturabileceğimiz bir resim.

Düzenimizin klasik düz bir tasarım olduğunu lütfen unutmayın. Düz tasarım - bu "düz" anlamına gelir, burada hacimsel gölgeler, degradeler ve diğer "çanlar ve ıslıklar" elde edemezsiniz.

Düzeni Photoshop'ta açıyoruz ve gerekli tüm bilgileri alıyoruz - renk, yazı tipi, boyut ve kodu yazmaya başlıyoruz, önce logo ve gezinme menüsünden oluşan sitenin başlığına gidiyoruz. Sitemizin her cihaza veya ayrı ekrana uyumlu olacağı anlaşıldığından tüm boyutlar % ve em olarak belirtilmektedir.

Web sitesi başlık düzeni

Başlığımızın bir HTML tarafını ve ayrıntılı düzenini oluşturalım. Başlık yerine eşleştirilmiş başlık etiketinin ortasına yazın.









  • Golovna

  • Portföy

  • Benim hakkımda

  • Temas etmek






CSS stili olmadan başlık, olması gerekenden tamamen farklı görünür. Style.css dosyasında başlığın düzen ile tutarlı görünmesi için farklı otoriteler için seçiciler yazacağız.

Ana noktalara bakalım. Logo ve gezinme menüsü tek satırda görünür. Div'deki logolu kayan nokta, kayan nokta olarak ayarlanmıştır: left; Gezinme menüsü artık logonun sağında olacak. Menü öğeleri tek satırda görüntülenir - ekran: satır içi blok; - koduna boş bir div ekleyerek sarmalamayı temizleyebilirsiniz, stillerde açıkça şu şekilde yazılmıştır - .clear(clear:both;)

style.css dosyası için web sitesi başlık kodu:

Vücut (
yazı tipi ailesi: "Lato", Verdana;
yazı tipi boyutu: %100;
arka plan: #fff;
}
.dürüm
{
kenar boşluğu: 0 otomatik;
genişlik: %70; /* tarayıcı pencerenize gidin */
}
.başlık(
dolgu: 1,3em 0em; /* metnin yanındaki alanlar */
}
.logo(
şamandıra: sol; /* logonun etrafına sarın */
}
.logo a (
Ekran bloğu; /* bloğa yeniden atama */
}
.nav(
Sağa çık; /* logonun etrafına sarın */
üst kenar boşluğu: 0,82em;
}
.nav > ul > li (
ekran:satır içi blok; /* satır bloğuna yeniden atama */
}
.nav > ul > li.active a(
arka plan: #d0a5a5;
renk: #ffffff;
}
.nav > ul > li > a (
Ekran bloğu;
yazı tipi ailesi: "Lato", sans-serif;
yazı tipi boyutu: 1,1em;
metin dönüşümü: büyük harf;
dolgu: 0,5em 1em;
renk: #444;
-webkit geçişi: 0,9 saniye; /* yumuşak bir geçiş */
-moz-geçiş: 0,9s;
-o-geçiş: 0,9s;
geçiş: 0,9 saniye;
}
.nav > ul > li > a:hover (
renk: #fff;
arka plan: #d0a5a5;
}

Web sitesi başlık düzeni için HTML kodu:







Pug "Vadi" portföyü










  • Golovna

  • Portföy

  • Benim hakkımda

  • Temas etmek



/* yuvarlatılmış */





Sıfırdan bir web sitesi düzenleme sürecinde web sitesi için hazır başlığı kaldırıyoruz.

Merhaba, blogumun okuyucuları! Bugünkü makalemiz düzen tasarımcıları için daha da ilginç olacak. Çünkü bugün basit bir yatay menü oluşturmak için yanınızda olacağız. Doğrudan sayfa düzenine geçmeden önce, makalenin konusunu seçmeye karar verenler hakkında birkaç söz söylemek istiyorum.

Aslında her şey basit, site için son dersin konusunu düşündüğümde, düzen tasarımı hakkındaki bilgilerimi düşünmeye ve analiz etmeye başladım, bu yüzden düzen tasarımcısı olmanın ilk aşamasında tökezlemek zorunda kaldım, ki bu benim için en zoruydu, zekice tüm galusiler için vb. İnsanların bir düzen tasarımcısı olarak kariyerlerine başlarken nelerden yararlanabilecekleri konusunda daha bilgili olabilmek için tüm bu yiyecekleri kendime koydum. Ve özellikle benim için, düzeni yazmaya başladığımdan beri, en çok çeşitli menülerin düzeniyle ilgileniyordum, özellikle de zengin menü söz konusu olduğunda. Ve bugün menüden ve daha spesifik olarak yatay menüden bahsediyoruz. Haydi başlayalım!

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

Kolayca tahmin edebileceğiniz gibi, önce standart düzende bir HTML sayfası oluşturmamız ve önüne bir stil dosyası eklememiz gerekiyor. Bu konuya daha fazla değinmeyeceğim, çünkü yeni başlamadığınızdan eminim, böylece size vücut ile kafanın ve stillerin nasıl bağlantılı olduğunu açıkça anlatabilirim. Ayrıca css dosyasındaki menümüz için stillere ek olarak stilleri sıfırlamak ve tüm tarayıcılarda aynı görünümü elde etmek için en basit sıfırlamayı yazacağımı da söyleyeceğim. En basit sıfırlamam şöyle görünüyor:

Şimdilik stilleri sıfırlamaktan bahsetmeyeceğiz, çünkü özünde bu başka bir yazının konusu, açıklama kodu hakkında bilmeniz gereken tek şey, bu kodun yazacağımız, sıfırlayacağımız tüm sayfa öğeleri için gerekli olduğudur. Kenar boşluğu ve dolgunun yanı sıra sayfamızın tüm tarayıcılarda aynı görünmesini sağlamak için çalışmamız gerekiyor.

Peki bu aşamada elimizde ne var? Standart düzende bir html sayfamız var:

Yatay menü

Ve bu sayfaya bağlı bir stil dosyamız (veya style.css) var, bunun yerine şunu kullanın:

Bir sonraki adım menümüz için HTML işaretlemesi oluşturmak olacaktır.

Menü için bir düzen oluşturma

Bizce HTML5'te ortaya çıkan yeni etiketi inceleyeceğiz, trendi ve standardı takip etmek için hemen yeni etiketleri benimsemenizi tavsiye ederim. Kendi düzenleri var, bu yüzden çok erken, tıpkı düzen tasarımcılarının tablo düzeninden blok düzenine geçtiği gibi, yine de onlara geçmeniz gerekecek, böyle bir gerçekliğin trendi takip etmesi daha iyidir!

Zaten yeni HTML 5 etiketlerini desteklemekten bahsettiğimiz için, eski tarayıcılarda bununla ilgili sorun yaşamamamız için, belgemizin özel bir kitaplık - html5shiv içermesi gerekiyor. içine sokmamaya çalışın
sayfanızın bölüm başlığını aşağıdaki kodla kullanın:

Aşağıdaki etiketlerin tümü (ve HTML5'te bulunan diğer etiketler) eski tarayıcılar tarafından normal şekilde ayrıştırılacaktır.

İşaretlememize dönelim. Daha sonra etiketimize bir işaretleme listesi eklememiz gerekiyor; şöyle görünür:

  • Golovna
  • Hakkımızda
  • Portföy
  • Blog
  • Kişiler

Bu nedenle, bir notla, stilleri yazmadan hemen önce başlama saatini durdurduk, böylece menümüz artık pek de fazla değil gibi görünüyor:

Yatay menümüz için yazma stilleri

Ve böylece, her şeyden önce, menüyü düzenlerken listeye işaretçiler eklememiz gerekiyor, açıkçası buna ihtiyacımız yok, bu yüzden bunu şu şekilde yapmalıyız:

Ul( liste stili: yok; )

Bundan sonra menümüz şu şekilde görünecek:

Menümüzün tarayıcının kenarlarına yapışması pek hoşuma gitmiyor, düzeltelim:

Bu kod ile menümüzün genişliğini ayarladık, ön ve alt kısmını 50px verdik ve ortaya taşıdık. Bir blok öğesinde genişliğin ne olduğunu bilmiyorsanız, bu öğeyi tam olarak merkeze taşımak için, yalnızca dış kenar boşluğunu (kenar boşluğunu) sağ ve sol elle otomatik değerlere ayarlamamız gerekir.

Bir sonraki adımda menümüzü yatay hale getirmemiz ve gerekli öğelere odaklanmamız gerekecek.

  • şamandıra: sol

    Menü li( kayan nokta:sol; )

    Menümüzün tamamı yatay hale geldi.

    Eğer öldürüldüğünüzün ve şamandıra gücünden kurtulmaya çalıştığınızın farkına varmadıysanız, bu güçle ilgili bilgileri Google'da aramanızı ve parça parça okumanızı tavsiye ederim.
    Düzenin her tarafında onsuz yapamazsınız, bunu size kesin olarak söylüyorum. Peki, devam edelim!

    Menü li а( display: blok;/* Blok elemanını seçin */ padding:12px 20px;/* Dahili girişi seçin */ text-decoration: none; /* alt koltuğu seçin */ color:#fff;/* rengi seçin rengi koyu olarak ayarlayın */ arka plan:#444;/* arka planı koyu renklendirin */ font:14px Verdana, sans-serif;/* yazı tipinin boyutunu ve adını ayarlayın */ )

    Buradaki en önemli kurallardan biri display:block;'dır. Sağda, mesaj küçük öğeler halinde gönderildiğinden ve farklı tarayıcılarda küçük öğelere erişim zor olduğundan, mesajın bir blok öğesiyle oluşturulması ve ancak daha sonra onunla ilişkili gücün harici veya dahili olarak ayarlanması gerekir. girişler. Sizi bu bilgilerle boğmak istemiyorum ama gerçek örnekler üzerinde zamanla böyle bir vurgunun burada gelişebileceğini anlayacaksınız.

    Bakalım elimizde neler var, tarayıcı tarafını yenileyelim ve işte başlıyoruz!:

    Gördüğünüz gibi kötü görünüyor, prensip olarak menümüz hazır diyebiliriz. Yapılması gereken tek şey, fareyle üzerine gelindiğinde ışığı ayarlamak, aynı zamanda öğeler arasında ayırıcılar bulunan daha basit görünümlü bir menü oluşturmaktır.

    Ayrı ayrı bitirelim:

    Menü li( border-left:1px katı #666; ) .menu li:first-child( border-left:none; )

    Burada ne yapıyorduk? Ancak puanlarımız için her şeyi çok basit bir şekilde ayarladık (

  • ) sol taraftaki kordon boyutu 1px ve renk #666;. Bir selector.menu li:first-child olduğundan, listenin ilk alt öğesini seçmenize izin veren özel bir sözde sınıfımız var. Ayrıca internette sözde sınıflarla ilgili raporu okumanızı da tavsiye ederim, birçok yararlı bilgi bulacaksınız.

    İçimizden çıkanlara bir kez daha hayret ediyorum:

    Bana göre ayrılıklarla çok daha güzel.

    Menü li a:hover( arka plan:#888; )

    Bu sefer özel bir sözde sınıf tanıtıyorum - fareyle üzerine gelin, imleç üzerine getirildiğinde mesajın rengini şaşırtıcı bir şekilde ayarlıyoruz:

    Çok havalıyım 🙂, umarım sen de benimkiyle aynı menüye sahipsindir.

    Bu, bu dersin sonu, ben zaten doğacağınızdan eminim ve artık saf html ve css'de basit bir yatay menüyü nasıl oluşturacağınızı biliyorsunuz. Elbette tek seviyeli bir menü oluşturduk, avlu menüsünden biraz daha karmaşık olacak (eklenmiş bir listeyle), ancak bu zaten başka bir dersin konusu, sahip olduğum tek şey bu. İçeri gelin, size radyum vereceğim!

    Karşınıza çıkan menülerle ilgili bir dersle seriye devam ediyoruz. Kendi ellerinizle css'e düşen yatay menüde.

    Burada aniden boşa gittiyseniz veya karşınıza çıkan menünün farklı bir uygulamasını arıyorsanız Raja Baba bölümüne gidecektir.

    Bu bölümde CSS ve HTML içeren yatay menü açıklanacaktır.

    Sayfada gezinme:

    Ve evet, Görevimiz:

    jQuery ve Javascript olmadan ve ayrıca yığılmış tablo olmadan css listesiyle (ul li listelerinde) yatay bir menü oluşturun

    kodda.

    Aşağı açılan yatay menü

    Kod yazmaya başlamadan önce menü için bir HTML şablonu oluşturmamız gerekiyor.

    Evrensel bir menümüz olduğu gerçeğiyle bağlantılı olarak, bunu WordPress menüsüne mümkün olduğunca benzer bir şekilde oluşturmak istiyorum. Bana göre bu, en basit ve en evrensel HTML menü kodlarından biridir. Şuna benziyor:

    • Golovna
    • Hakkımızda
    • Hizmetlerimiz
      • 1 numaralı hizmetçimiz
      • 2 numaralı hizmetkarımız
      • 3 numaralı hizmetkarımız
      • 4 numaralı hizmetkarımız
      • Hizmet 5
    • Noviny
    • Kişiler

    Koddan da görebileceğiniz gibi açılır menümüz ul ve li listeleri üzerinde uygulanacaktır. Eksen, CSS stilleri olmayan menü için şöyle görünür:

    Diyelim ki, son liste gibi gurur verici görünüyor. Daha sonra bu menüyü ek CSS stilleriyle dekore etmemiz gerekiyor.

    CSS'ye düşen yatay menü

    Açılan menünün CSS stilleri, sadece bu değil, aynı zamanda gereklidir. Sekme göründüğünde, sözde sınıf temelinde çalışın: vurgulu.

    Açılan yatay menü için aşağıdaki stillere ihtiyacımız var:

    #menu1( konum:göreli; ekran:blok; genişlik:%100; yükseklik:otomatik; z-index:10; ) #menu1 ul( konum:göreli; ekran:blok; kenar boşluğu:0px; dolgu:0px; genişlik:100 %;yükseklik:otomatik;liste stili:yok;arka plan:#F3A601; menu1 ul li( konum:göreceli; ekran:blok; kayan nokta:sol; genişlik:otomatik; yükseklik:otomatik; ) #menu1 ul li a( ekran: blok; dolgu: 9 piksel 25 piksel 0 piksel 25 piksel; yazı tipi boyutu: 14 piksel; yazı tipi ailesi: Arial, sans-serif; renk: #ffffef; satır yüksekliği: 1,3 em; metin dekorasyonu: yok; yazı tipi ağırlığı: kalın; metin -transform:uppercase;height:36px;box-sizing:kenarlık kutusu; ) #menu1 ul li > a:hover, #menu1 ul li:hover > a( arka plan:#EBBD5B; color:#2B45E0; )

    Bu son değil, ana yatay menü için sadece bir CSS parçası. Daha sonra menü listesi için stiller yazacağız:

    #menu1 ul li ul( konum:mutlak; üst:36px; sol:0px; görüntüleme:yok; genişlik:200px; arka plan:#EBBD5B; ) #menu1 ul li:hover ul(ekran:blok;) açılır mekanizma */ # menu1 ul li ul li(float:none; width:100%; ) #menu1 ul li ul li(display:block;text-transform:none; 100% box-sizing:border-box;border-top:1px katı # ffffff; arka plan:#FDDC96; renk:#6572BC;

    Eksen artık bir bıyık. Satışların tek sıra halinde serbest bırakılmasının mekanizması.

    Bu menüden dış görünümü görüntüleyin:

    Küçük 2 (aşağı açılan yatay menü)

    Aşağıda robot menüsünün mevcut demosu ve incelemesi, nelerin düşeceği ve hafta sonu indirme talimatları yer almaktadır. (Demo bu sayfanın üst kısmında açılır menü olarak açılacaktır, tıklayıp yeni bir pencerede açmanıza 🙂 veya ayıyı gıdıklamanıza gerek yoktur)

    Tüm genişliği kapsayan yatay menü

    Geçmişten bu tür menüleri yukarıda gösterdiğim gibi kullanırken çoğunuzun kafası karışabilir ve kısmen bu tür menülerle yeni düzenler oluşturmak istediğimi düşünüyorsunuz.

    Eminim popoyla daha çok ilgilenmeye başladın. Html artık değişmedi ancak CSS ekseni tamamen değiştirildi. Buradaki CSS kodunu alıp animasyona yapıştırabilir veya demo modunda nasıl çalıştığını izleyebilirsiniz.

    #container( genişlik:1000px; yükseklik:otomatik; kenar boşluğu:0px otomatik; dolgu-top:10px; ) #menu1( konum:göreceli; görüntüleme:blok; genişlik:%100; yükseklik:otomatik; z-index:10; ) #menu1 ul( konum:göreceli; görüntüleme:blok; kenar boşluğu:0px; dolgu:0px; genişlik:100%; yükseklik:otomatik; liste stili:yok; arka plan:#F3A601; ) #menu1 > ul( metin hizalama: yasla; yazı tipi boyutu:1px; satır yüksekliği:1px; ) #menu1 > ul::after( display:inline-block; width:100%; height:0px; :relative; display:inline-block;width:auto ;yükseklik:otomatik;dikey-hizalama:üst;metin-hizalama:sol; ) #menu1 :14px;yazı tipi ailesi:Arial, sans-serif;renk:#ffffef;satır yüksekliği:1,3em;metin dekorasyonu:yok ; yazı tipi ağırlığı: kalın; metin dönüşümü: büyük harf; yükseklik: 36 piksel; :sınır kutusu; ) #menu1 ul li > a:hover, #menu1 ul li:hover > a( arka plan:#EBBD5B; color:#2B45E0; ) #menu1 ul li ul( :0px; display: none; width:auto; arka plan:# EBBD5B; white-space:nowrap; ) #menu1 ul li:son-çocuk ul(/*kalan öğe sağ kenara eklenecek*/ left:auto; right:0px; ) açılır menü*/ #menu1 ul li ul li(ekran :blok; genişlik:otomatik; ) #menu1 ul li ul li(ekran:blok; metin-dönüştürme:yok; yükseklik:otomatik; kutu boyutlandırma:kenarlık-kutusu;kenarlık-top:1px katı #ffffff; ) #menu1 # FDDC96;renk:#6572BC;

    Ayrıca bu örnek, açılan menünün, yani düşüşün kendisinin, tüm menü öğelerinin genişliğine bağlı olarak genişliğinin artmasıyla ilkinden farklıdır.

    Çok uzun menü öğeleri için, koku parçacıkları sınırların ötesine yayılacağından bu seçenek pek pratik olmayabilir. Bu gücü kazanmak için "white-space:nowrap;"in gücünü bilmek yeterlidir. seçicide #menu1 ul li ul ve onu seçin.

    Aşağıda bir demo görebilir veya yatay menünün hafta sonu seçeneklerinin keyfini çıkarabilirsiniz:

    Ayırıcılar olmadan menü aşağıdaki gibi görünür. Ayrıntılar HTML'ye manuel olarak eklenebilir, ancak WordPress gibi bir CMS'niz varsa, bunları manuel olarak eklemek çok kolay değildir.

    Bölümler içeren yatay menü

    Saf CSS kullanarak menü öğeleri arasında karışıklık yaratmak için düzinelerce seçenek vardır. ::before veya::after gibi seçenekleri veya çok daha basit olan kenar-sol, kenar-sağ seçeneklerini kopyalamayacağım.

    Düzenin o kadar mucizevi bir şekilde oluşturulduğu ve jquery olmadan yapmanın imkansız olduğu durumlar vardır.

    HTML kodumuz çok fazla eksik, ancak yalnızca jQuery kütüphanesinin kendisini ve aşağıdakileri içeren dosyayı dahil ediyoruz:

    Hemen sonra.

    Anladıktan sonra bir dosya oluşturmanız gerekir script-menü-3.js Ve şu küçük kodu oraya koy:

    $(document).ready(function())( $("#menu1 > ul > li:not(:last-child)").after(" "); ));

    Böyle bir menünün CSS stillerinin kaldırılması gerekir, + bu satırın eksenini sona koyun:

    #menu1 ul li.razd( yükseklik:28px; genişlik:1px; arka plan:#ffffff; kenar boşluğu:4px; )

    JQuery'de bölücüler içeren yatay bir menü şöyle görünecektir:

    Demo modunda izleyebilir veya aşağıdaki yatay menü şablonunu indirebilirsiniz:

    Böyle bir kararın avantajları şunlardır:

    • menü dinamik olarak çizilir;
    • ancak ayırıcıdan noktaya erişim;
    • Tasarımı daha da güzel.
    Açılır CSS+HTML içeren yatay zengin menü

    Fareyle üzerlerine geldiğinizde çok sayıda menü açıldığında, bunları tek tek alt gruplara ayırın:

  • nişan alırken düşüşle
  • üçüncü seviyenin tükürük patlamasıyla
  • Benim durumumda 3 seviyede çok sayıda CSS menüsü gösterdim ve sonrasında ne yapılması gerektiğini anlamanın zor olmayacağını düşünüyorum.

    Fareyle üzerine gelindiğinde açılır kutudan görünen yeni bir menü var

    Başlamak için HTML'mizi biraz değiştirmemiz gerekiyor. 3. seviye için birkaç satır olacak:

    • Golovna
    • Hakkımızda
    • Hizmetlerimiz
      • 1 numaralı hizmetçimiz
        • Servis eki 1
        • Servis eki 2
      • 2 numaralı hizmetkarımız
        • Servis eki 3
        • Servis eki 4
      • 3 numaralı hizmetkarımız
      • 4 numaralı hizmetkarımız
      • Hizmet 5
    • Noviny
    • Kişiler
      • Yol haritası
        • Kart eklentisi
        • Kart 2 için ek
      • Yakanın şekli

    #container( genişlik:1000px; yükseklik:otomatik; kenar boşluğu:0px otomatik; dolgu-top:10px; ) #menu1( konum:göreceli; görüntüleme:blok; genişlik:%100; yükseklik:otomatik; z-index:10; ) #menu1 ul( konum:göreceli; görüntüleme:blok; kenar boşluğu:0px; dolgu:0px; genişlik:100%; yükseklik:otomatik; liste stili:yok; arka plan:#F3A601; ) #menu1 > ul( metin hizalama: yasla; yazı tipi boyutu:1px; satır yüksekliği:1px; ) #menu1 > ul::after( display:inline-block; width:100%; height:0px; :relative;display:inline-block;width:auto ;height:auto;vertical-align:top;text-align:left; ) #menu1 ul li.razd( height:28px; width:1px; kenar boşluğu-top:4px; ) #menu1 ul li a( display:block; dolgu:9px 45px 0px 45px;em;metin-dekorasyon:yok;yazı tipi ağırlığı:kalın;metin dönüşümü:büyük harf;yükseklik:36px;kutu boyutlandırma:kenarlık kutusu;) #menu1 ul li> (Arka Plan: #EBBD5B ; color:#2B45E0; ) #menu1 ul li ul( konum:mutlak; üst:36px; sol:0px; ekran:yok; genişlik:oto; arka plan:#EBBD5B; beyaz boşluk:nowrap; ) #menu1 > ul > li:last-child > ul(/*son öğe sağ kenara eklenecek*/ left:auto; sağ:0px; ) #menu1 ul li:hover > ul(display:block;)/*bu satır açılır mekanizmayı uygular*/ #menu1 ul li ul li( display:block; width:auto; ) #menu1 ul li ul li a( display : blok; text-transform:none; yükseklik:otomatik; dolgu:7px 45px; genişlik:100%; Kenarlık üstü: 1px katı #ffffff; a( arka plan:#FDDC96; renk:#6572BC; ) #menu1 ul li ul li ul( üst:0px; sol:100%; ekran:yok; arka plan:#fddc96; ) #menu1 > ul > li:son-çocuk > ul ul(sol:oto; sağ:100%;) #menu1

    JQuery dosyaları sanki önden kopyalanıyor. Ayırıcıları kaldırmak istiyorsanız menünün en azından biraz daha güzel görünmesi için. Elbette onlarsız da mümkün.

    Eksen şu şekilde ortaya çıktı:
    Sağ tarafta ve ortada nasıl göründüğünü göstermek için 2 kaplamayı bir arada oluşturdum.

    Aşağıda demoyu izleyebilir ve örneği indirebilirsiniz:

    Üzerine gelindiğinde kayan açılır menüyle görünen yeni bir menü var

    Trochi oliya başlığa geldi, ale prokotit, müstehcen kod.

    Bunun özü, tam genişlik + zenginlik üzerine düşen yatay bir menü oluşturmaktır.

    HTML kodunu değiştirmeyeceğim, ön kısımdan alabilirsiniz. JQuery'deki bölümler de kaldırılmıştır.

    Aşağıdakiler boyunca yalnızca CSS değiştirilebilir:

    #container( genişlik:1000px; yükseklik:otomatik; kenar boşluğu:0px otomatik; dolgu-top:10px; ) #menu1( konum:göreceli; görüntüleme:blok; genişlik:%100; yükseklik:otomatik; z-index:10; ) #menu1 ul( konum:göreceli; görüntüleme:blok; kenar boşluğu:0px; dolgu:0px; genişlik:100%; yükseklik:otomatik; liste stili:yok; arka plan:#F3A601; ) #menu1 > ul( metin hizalama: yasla; yazı tipi boyutu:1px; satır yüksekliği:1px; ) #menu1 > ul::after( display:inline-block; width:100%; height:0px; :relative; display:inline-block;width:auto ;yükseklik:otomatik;dikey hizalama:üst;metin hizalama:sol;):28px;genişlik:1px;arka plan:#ffffff;kenar boşluğu üst:4px; ) #menu1 ul li a( ekran:blok; dolgu:9px 45px serif;renk:#ffffef;satır yüksekliği:1,3em;metin dekorasyonu:yok;yazı tipi ağırlığı:kalın;metin dönüşümü:büyük harf;yükseklik:36px ;box-sizing:border-box; ) #menu1 ul li > a:hover, #menu1 ul li:hover > a( arka plan:#EBBD5B; color:#2B45E0; ) #menu1 ul li ul( konum:mutlak; üst :36px; sol:0px; ekran:yok; genişlik:%100; arka plan:#EBBD5B; ) #menu1 > ul > li > ul::after( clear:both; float:yok; genişlik:%100; yükseklik:0px ; içerik:" "; ; :block; genişlik:30%; float:left; ) #menu1 ul li ul li a( display:block; - kutu; color:#6572BC; ) #menu1 ul li ul li ul( top :0px; left:100%; display:none; arka plan:#fddc96; z-index:15; ) #menu1 bloğu;float:none;width:100%;) #menu1 ul li

    Menü şu şekilde görünecek: Bir şey - sağdaki son öğenin görüneceği yer olmadığından sitede yeterli alan var. Bu sorun şu şekilde çözülebilir: n'inci çocuk, ama ben şehir şehir olmuyorum.

    Yatay bagaj menüsünün demosunu izleyin:

    Fark etmiş olabileceğiniz gibi: alt plaka da tüm genişliktedir. Aks birkaç bloğun etrafında bu şekilde çöküyor.

    Umarım benim için bu kadardır, gerçi sadece kıçım sana uyacaktır. Saygınızdan dolayı teşekkür ederim.

    Ona ve bana biraz ağaç kabuğu getir 🙂.

    Yazıyı iyice okuduysanız ancak css'e düşen kendi yatay menünüzü nasıl oluşturacağınızı bilmiyorsanız, sorularınızı yorumlarda sorun veya sitede hızlı bir şekilde arama yapın.

    Ayrıca sizi babamın tüm uygulamaların ve farklı menü türlerinin toplandığı https://site/vypadayushhee-menu/ sayfasıyla tanıştırmak istiyorum.

    Yazarın notu: Sizi web sitemizle ilgili blogumuza davet ediyorum. Bu, yeni spesifikasyonlara adanmış bir makale dizisidir ve bugün size HTML5'te nasıl menü oluşturulacağını ve bu sürecin dilin önceki sürümlerinden nasıl farklı olduğunu anlatmak istiyorum.

    Önemi nedir?

    Öncelikle spesifikasyonun o kadar da yeni olmadığını söylemek isterim; geliştirilmeye 2009 yılında başladı. Artık istikrarlı bir gelişme var - html5'in yeni yetenekleri var, mevcut tarayıcılar bu yetenekleri giderek daha fazla destekliyor, böylece aynı amaç için olmasa da yakında bu teknolojiyi tekrar desteklemekten bahsedebiliriz. yeni yetenekler kümesi, cilt bağımsızdır.

    Peki, kafa navigasyonunun (menü) oluşturulmasına ne dersiniz, eğer zaten bu konuyla ilgili bir makale okuyorsanız, o zaman kesinlikle suçlu yetkililerdir. Peki menü daha önce nasıl oluşturuldu? Tüm gezinme için ek bir kapsayıcı (ana div) yerleştirdiğiniz bir etiket listesi oluşturun.

    Böylece, yeni etiketlerin ortaya çıkmasıyla, artık bunu daha doğru bir şekilde yapabilirsiniz - div etiketi yerine, menüyü nav'a sarın - özellikle en önemli mesajları yeni bir şekilde toplamak amacıyla oluşturulmuş yeni bir anlamsal öğe. yönlendirerek bunları bir arada gruplandırın.

    Nav'da bunu bir liste olarak koyabilir ve sadece mesajı yazabilirsiniz. Menü daha basit ve daha doğru olacak şekilde tasarlanmıştır, ancak zengin şablonlarda, daha önce olduğu gibi, ul, li, a ek etiketlerinin arkasında menünün uygulanmasını görebilirsiniz.

    Tsikavo, sayfada öncelikli gönderim için kreasyonların konteyner navigasyonu nedir? Aslında, sayfada bu türden birden fazla kapsayıcı olabilir, ancak bunları etkili bir şekilde başlık navigasyonunu oluşturacak şekilde aynı sıraya yerleştirebilirsiniz (örneğin, üstteki başlık menüsü ve sayfanın alt kısmındaki bir sonraki çift) .

    Html5 yatay menüyle ilgili yardım nasıl alınır

    Golovna Hizmetler Kişiler Vidguki

    Listede herhangi bir çerçevelemeye gerek yok, başlangıçta her şey tek satırda görünecek, gönderilen parçalar küçük öğeler olacak.

    Yani küçük yetkileri sayesinde formalitelere daha da dikkat ediyorlar. Yalnızca renk, yazı tipi boyutu ve dış girintiler gibi kontrolleri kontrol edebilirsiniz. Farklı bir arka plan rengi ayarlamak, ayırıcılar oluşturmak ve dahili bağlantılar eklemek (veya dış görünüm menü öğesinin boyutunu ayarlamak) istiyorsanız bunu bu şekilde yapamazsınız.

    Burada blok elemanları üzerinde noktalarımızı yeniden oluşturmamız gerekiyor. Bunun için gücü yazmaları gerekiyor:

    Ekran bloğu;

    Artık koku dibe kadar yanıyor, böylece navigasyonumuz dikey hale geldi. Tekrar yatay olarak çevirmek için bir güç şarkısı eklemeniz gerekir. Örneğin, blok tipi yerine blok-satır olarak veya (float: left) olarak ayarlayın. Bu yöntemler hakkındaki raporu okuyun.

    Dikey gezinme

    Bizden HTML5'te vikory listesiyle dikey bir menü oluşturmamızı isteyin, böylece size verdiğim düzenin aynısını daha fazla kullanabiliriz. Blokların sırasını değiştirmeye karar verdiğiniz anda kokular otomatik olarak birer birer iniyor çünkü iki blok aynı sırada duramıyor.

    Artık onlara kayıt kurallarını anlatabilirsiniz. Blokların çok daha fazla gücü var, ancak küçük bir şekilde çok daha fazla gücünüz var. Örneğin şunları ekledim:

    a( metin dekorasyonu: yok; renk: #fff; dolgu: 5 piksel; yazı tipi boyutu: 22 piksel; ekran: blok; arka plan: doğrusal degrade (sağa, rgba(96,108,136,1) 0%,rgba(63,76,107) ) ,1) 100%);genişlik: 200 piksel;metin hizalama: orta )

    metin dekorasyonu: yok;

    renk: #fff;

    dolgu: 5px;

    yazı tipi boyutu: 22 piksel;

    Ekran bloğu;

    arka plan: doğrusal degrade(sağa, rgba(96, 108, 136, 1) %0, rgba(63, 76, 107, 1) %100);

    genişlik: 200 piksel;

    metin - hizala: ortala

    Menü, tıpkı skin gibi skin sitesinin bilinmeyen bir parçasıdır. Menü (veya gezinme), kitaplardaki alana benzer şekilde sitenin ana bölümlerinde hızlı bir şekilde gezinmenizi sağlar. Benzerlik özellikle site haritalarında (farklı gezinme türleri) fark edilir:

    Menü farklı görünebilir. Belki yatay

    Dikey

    Bagatory

    Menü daha da çeşitli olabilir ve çok daha farklı şekillerde sunulabilir: tablolar, bloklar, basit girişler, belki de
    ...birçok “dikkatli” yöntemi tahmin edebilirsiniz ve bunların çoğu blok (tablosuz) düzen ilkelerine karşılık gelir. Profesyonel çevrelerde navigasyonun sırasız listelere dayanmasının önemli olduğunu düşünüyorum.< >і< >.

    Navigasyonda neden ul kullanmalısınız?

    Açıklamanız gereken ilk şey gelmektir, çünkü düşünmek mantıklıdır: menü posilanlarla (bölümlerle) doludur. Ve eğer sadece düşünmüyorsanız, sözlüğe bakın, örneğin Ozhegov:

    Doğru yolda olduğumuz anlaşılıyor (unutanlar için anlamsal kod, mantıksal (değişimin arkasındaki) doğru kodun hemen önündedir).

    Yetkililerden çılgınca yardım isteyerek şüphelere nasıl eziyet edilir. Listeler hakkında W3C:

    Listeler yanıltıcı olabilir:
    • hizmet dışı
    • sipariş taşması
    • navigasyon
    • randevu
    Resimli menü

    Gezinme ( liste stili: yok; /* işaretleyiciler tercih edilir */ kenar boşluğu: 30 piksel; ) . gezinme li ( kayan nokta: sol; /* liste öğeleri bir satırda seçilir */ kenar boşluğu-sağ: 15 piksel; /* menüye erişim öğeler gerekli sinirlenmedi */).navigasyon li a ( display: blok; text-align: center; padding-top: 100px; * arka plan yüksek ve ortalanmış */ arka plan tekrarı: tekrarlama yok; genişlik : 200px;/* boyutlar Resimlerin tam olarak görüntülenmesi gerektiği belirtilir */ height: 50px; aksi takdirde blok modeli yorumlanır */ height: 150px; ) .navigation .chrysler a (background-image: /menu-audi. jpg); ) .navigation .bugatti a ( arka plan resmi: url(path-to/menu-bugatti.jpg); ) .