HTML-də açılan siyahıdan seçim. Dəbli Css Açılan Siyahıları Yaradın




Bu gün mən CSS-də siyahı yaratmaq üçün kiçik bir “resept” təqdim etmək istəyirəm. JQuery yoxdur, CSS3 yoxdur - sadəcə köhnə yaxşı cross-brauzer CSS. Nümunə olduqca sadədir, buna görə təcrübəli yoldaşlar maraqlanmaya bilər. Sosial düymələrlə açılan siyahı tətbiq edəcəyik.

Odur ki, uzun-uzadı danışmayaq, düz mətləbə keçək

HTML

Kod böyüməməsi üçün üslubları daxil etmək kimi ümumi məqamları bilərəkdən buraxıram. Səhifənin altındakı mənbələrə keçid verəcəyəm - hər şey oradadır.
HTML-də bizdə olan şey müntəzəm siyahı və qeyri-adi başlıqdır. Onun qeyri-adiliyi ondadır ki, o, hadisəni izləməyə imkan verən hiperlinklə hazırlanır : süpürmək, yəni hidayət. Siz başlığın üzərinə gətirdiyiniz zaman açılan siyahı işləyəcək.

CSS

Əvvəlcə açılan siyahının əsas üslublarına nəzər salaq. Daha aydın olması üçün kodun hər sətrini şərh etməyə çalışdım:

/*Doldurmanı sıfırlayın*/ .droplink ul,.droplink h3,.droplink h3 a( padding:0;margin:0 ) /*Basic wrapper*/ .droplink ( en:200px; mövqe:absolute; margin:10px 0 0) 25px ) /*Hover blok stili*/ .droplink:hover( hündürlük:auto; background-color:#3E403D; haşiyə:solid 1px #3A3C39 ) /*Başlıq normal vəziyyətdə*/ .droplink h3 a( text-align:center width:100%; display:block; padding:12px 0px; çəki: qalın mövqe: mütləq )

Burada xüsusi bir şey yoxdur; biz blokun ölçüsünü və üslubunu, başlığın üslubunu və kursoru gəzdirərkən hər iki element üçün onların üslublarını göstərdik. Davam et:

/*Siyahını hover olmadan gizlədin*/ .droplink ul( list-style:none; display:none ) /*Siyahını hoverdə göstər*/ .droplink:hover ul( display:block; margin-top:40px ) .droplink li( ekran: blok)

Bu kod daha maraqlıdır və necə davrandığını göstərir açılan siyahı kursoru gəzdirərkən. Normal veziyyetdedir ekran: heç biri, yəni göstərilmir. Üzərinə qoyulduqda onu blok kimi göstəririk. Bütün sirr budur. İndi siyahı elementlərini bir az bəzəyib nişanlar daxil edək:

/*Siyahı elementinin üslubu*/ .droplink li a( padding:5px 12px 4px 34px; margin:1px; background-color:#484A47; display:block; color:#FFF; text-decoration:none; font-size:12px ; background-repeat:no-repeat; background-position: 10px 3px ) /*Hover element style*/ .droplink li a:hover( background-color:#999 ) /*Icons*/ .facebook a (fon şəkli) :url("icons/facebook.png")) .twitter a (fon şəkli:url("ikonlar/twitter.png")) .vk a (fon şəkli:url("ikonlar/vk.png")) .rss a (fon şəkli:url("ikonlar/rss.png")) .gplus a (fon şəkli:url("ikonlar/gplus.png"))

Əslində hamısı budur. Açılan siyahı hazırdır və olduqca gözəl görünür. Elementləri öz istəyinizlə tərtib edə, yuvarlaq künclər və digər zənglər və fitlər əlavə edə bilərsiniz.

Siyahının sürüşdürərkən altındakı mətnlə "üst-üstə düşməsini" istəyirsinizsə, yan tərəfə baxın z indeksi.

Bir şey aydın deyilsə və ya işləmirsə, şərhlərdə soruşun və ya "Mesaj göndər" düyməsini istifadə edin, bu var —>

Təsvir

Tag bu siyahının hündürlüyünü təyin edir. Siyahının eni etiketdə göstərilən ən geniş mətnlə müəyyən edilir

Sintaksis

Atributlar

Bəzi klaviatura qısa yolundan istifadə edərək siyahıya keçməyə imkan verir. Səhifə yükləndikdən sonra diqqəti cəlb etmək üçün siyahını təyin edir. Elementə girişi və dəyişdirilməsini bloklayır. Siyahını forma ilə əlaqələndirir. Eyni anda birdən çox siyahı elementi seçməyə imkan verir. Serverə göndəriləcək və ya skriptlər vasitəsilə əldə ediləcək elementin adı. Formanı təqdim etməzdən əvvəl siyahının seçilməsi tələb olunur. Göstəriləcək siyahı sətirlərinin sayı. Tab düyməsini basarkən elementlər arasında keçid ardıcıllığını müəyyən edir

Bağlama etiketi

Tələb olunur.

HTML5 IE Cr Op Sa Fx

SELECT etiketi

Açılan menyu da adlandırılan birləşmiş qutu çevik və rahat forma elementlərindən biridir. Parametrlərdən asılı olaraq siyahıdan bir və ya daha çox dəyər seçə bilərsiniz. Siyahının üstünlüyü onun yığcamlığı və çox yönlü olmasıdır, siyahı bir və ya bir neçə sətir tuta bilər və siz ondan bir və ya bir neçə dəyər seçə bilərsiniz; Kombo qutusu aşağıdakı kimi yaradılır.

Tag , siyahının hündürlüyünü təyin edən siyahının eni daxilindəki mətnin uzunluğuna əsasən avtomatik olaraq müəyyən edilir;

Tag atributları , onun köməyi ilə siyahının təqdimatını dəyişə bilərsiniz.

çoxsaylı

Çoxluğun olması brauzerə elementin məzmununu göstərməyi bildirir

ad

Unikal element adını müəyyən edir çoxlu atribut əlavə olunarsa, birdən çox element seçə bilərsiniz.

dəyər

Serverə göndəriləcək siyahı elementinin dəyərini müəyyən edir. Ad/dəyər cütü serverə göndərilir, burada ad teqin ad atributu ilə müəyyən edilir

Siyahı maddələrinin qruplaşdırılması

Siyahı kifayət qədər genişdirsə, siyahının aydın və asan işləməsini təmin etmək üçün onun elementlərini bloklara qruplaşdırmaq məntiqlidir. Bu məqsədlə etiket istifadə olunur . Bu, içərisində etiketlərin yerləşdiyi bir qabdır ondan ibarətdir ki, o, adi siyahı elementi kimi vurğulanmır, qalın üslubla vurğulanır və bu konteynerə daxil olan bütün elementlər orijinal mövqeyinin sağına köçürülür. Qrup başlığını əlavə etmək üçün Nümunə 3-də göstərildiyi kimi etiket atributundan istifadə edin.

Misal 3: Siyahı maddələrinin qruplaşdırılması

HTML5 IE Cr Op Sa Fx

Siyahı

Nümunənin nəticəsi Şəkildə göstərilmişdir. 1.

düyü. 1. Qruplaşdırılmış siyahı

Üfüqi açılan menyu saytın naviqasiya strukturunu təşkil etmək üçün istifadə olunur. Yuva səviyyələrinin optimal sayı bir və ya ikidir. Qoşmaların səviyyəsi nə qədər az olsa, sayt ziyarətçisinin ehtiyac duyduğu məlumatı tapması bir o qədər asan olar. Adi bir üfüqi menyunun necə yaradılacağı ətraflı təsvir edilmişdir.

Üfüqi açılan menyunu necə etmək olar

1. Bir yuva səviyyəsi ilə açılan menyu üçün HTML işarələməsi və əsas üslublar

Üfüqi açılan menyunun HTML işarələməsi adi menyudan onun istədiyiniz siyahı elementinə keçidi ilə fərqlənir.

  • iç içə siyahı əlavə olunur
      və ya<оl> .

      Alt menyunu əsas menyuya nisbətən yerləşdirmək üçün aşağıdakı üslublar elan edilir:
      — açılan siyahının yerləşdiyi siyahı elementi üçün: li (mövqe: nisbi;) ;
      — açılan menyu üçün ul (mövqe: mütləq;) , həmçinin sol və yuxarı dəyərlər.

      Aydınlıq və formatlaşdırma asanlığı üçün sinifin yuxarı menyusunu əsas menyuya və alt menyunu açılan menyuya əlavə edək.

      Açılan menyunu gizlətməyin bir neçə yolu var:
      1) ekran: heç biri;
      2) görünmə: gizli;
      3) qeyri-şəffaflıq: 0;
      4) çevirmək: scaleY(0);
      5) jQuery kitabxanasından istifadə etməklə.

      Metod 1. (ekran: heç biri;)

      Açılan menyu .submenu (ekran: heç biri;) istifadə edilməklə gizlədilir, hoverdə isə .topmenu li:hover .submenu (ekran: blok;) vasitəsilə göstərilir.

      Metod 2. (görünürlük: gizli;)

      Menyu .submenu (görünürlük: gizli;) vasitəsilə gizlədilir və .topmenu li:hover .submenu (görünürlük: görünən;) vasitəsilə göstərilir.

      Metod 3. (şəffaflıq: 0;)

      Menyu .submenu (şəffaflıq: 0;) istifadə edərək gizlədilir və .topmenu li:hover .submenu (şəffaflıq: 1;) vasitəsilə göstərilir. Menyunun yerləşdiyi ərazinin üzərinə gətirdiyiniz zaman onun görünməsinin qarşısını almaq üçün görünürlük əlavə edin: gizli; , və sürüşdürərkən, onu görünməyə dəyişin: görünən; .

      Metod 4. (çevir: scaleY(0);)

      Menyu .submenu (çevir: scaleY(0);) istifadə edərək gizlədilir və .topmenu li:hover .altmenyu (çevir: scaleY(1);) vasitəsilə göstərilir. Standart element çevrilməsi mərkəzdən baş verdiyi üçün .alt menyu üçün əlavə etməlisiniz (transform-mənşə: 0 0;) , yəni. yuxarı sol küncdən.

      Metod 5: jQuery-dən istifadə

      $(".beş li ul").gizlət(); // açılan menyunu gizlədin $(".five li:has(".submenu")").hover(function())( $(".five li ul").stop().fadeToggle(300) ;) /* .alt menyu sinfi olan elementi ehtiva edən siyahı elementini seçin və ona açılan menyunu göstərən və gizlədən hover funksiyası əlavə edin */);

      2. 3D açılan menyu

      Maraqlı effektlər CSS3 transformasiyalarından istifadə etməklə yaradıla bilər, məsələn, ekranın dərinliklərindən menyunun görünməsi.

      * ( qutu ölçüsü: sərhəd qutusu; ) gövdə ( kənar: 0; fon: radial-qradiyent (#BFD6E2 1px, rgba(255,255,255,0) 2px); fon ölçüsü: 10px 10px; ) nav ul ( siyahı üslubu : heç biri: 0; padding: 0; : rgba(255,255,255,.8); .topmenu > li (ekran: inline-block; mövqe: nisbi; ) .topmenu > li > a ( font-family: "Exo 2", sans-serif; hündürlük: 70px; line; -height: 70px; padding: 0 30px; font-weight: qalın; text-transform: böyük hərf; a:hover (rəng: #E6855F; ) .alt menyu ( fon: ağ; haşiyə: 2px bərk #003559; mövqe: mütləq; sol: 0; görünmə: gizli; qeyri-şəffaflıq: 0; z indeksi: 5; en: 150px; transform: perspective(-90deg) rotateX(-90deg); keçid: 0% 0%; qeyri-şəffaflıq: 1; çevirmək: perspektiv (600px) rotateX(0deg); ) .alt menyu li a (rəng: #7f7f7f; şrift ölçüsü: 13px; sətir hündürlüyü: 36px; doldurma: 0 25px; şrift ailəsi: "Kurale", serif; )

      3. Loqo ilə genişləndirilə bilən açılan menyu

      Bu nümunədə səhifənin yuxarı hissəsində loqo və sayt naviqasiyası var. Loqo şəkil və ya mətn ola bilər. Açılan menyu CSS3 çevirmə funksiyasından istifadə edərək yuxarı siyahı elementinin altından tədricən genişlənir.

      Logo
      * ( qutunun ölçüsü: sərhəd qutusu; ) gövdə ( kənar: 0; fon: #f2f2f2; ) başlıq ( fon: ağ; mətni hizalayın: mərkəz; ) başlıq a ( mətn dekorasiyası: heç biri; kontur: heç biri; ekran : blok; keçid: .3s asan giriş; cədvəl; kənar: 0 auto; eni: 25% float: sol font-family: "Open Sans", sans-serif; .topmenu > li > a ( text-transform: böyük hərf; font-weight: qalın; color: # 404040; padding: 15px 30px; .topmenu li a:hover ( color: #D5B45B; ) .altmenu-link:after ( content: "\f107"; font-family: "FontAwesome"; inherit; margin-px; 10 .submenu ( fon: #273037; mövqe: mütləq; sol: 0; yuxarı: 100%; z-indeksi: 5; en: 180px; qeyri-şəffaflıq: 0; transform: scaleY(0) ; transform mənşəli: 0 0; keçid: .5s asan giriş; ) .alt menyu a (rəng: ağ; mətni düzləndirmə: sola; doldurma: 12px 15px; şrift ölçüsü: 13px; alt haşiyə: 1px bərk rgba(255,255,255,.1); ) .alt menyu li:sonuncu uşaq a ( border-bottom: none; ) .topmenu > li:hover .altmenu (şəffaflıq: 1; transform: scaleY(1); )

      4. Açılan menyunun genişləndirilməsi

      Açılan menyu üçün başqa bir nümunə. Menyu görünəndə böyüdülmə effekti ilkin ölçüsün kiçildilməsi ilə həyata keçirilir.alt menyu (çevir: miqyas(.8);) , siçan üzərinə qalxdıqda ölçü artır.topmenu > li:hover .alt menyu (çevir: miqyas(1);) .

      * ( qutu ölçüsü: sərhəd qutusu; ) gövdə ( kənar: 0; fon: url(https://html5book.ru/wp-content/uploads/2015/10/background54.png) ) naviqasiya ( fon: ağ; ) nav ul ( siyahı üslubu: heç biri; kənar boşluq: 0; doldurma: 0; ) nav a ( mətn dekorasiyası: heç biri; kontur: heç biri; ekran: blok; keçid: .4s asan giriş; ) .topmenu ( text-align: center; padding: 10px 0; .topmenu > li ( display: inline-block; mövqe: nisbi; ) .topmenu > li:after ( məzmun: ""; mövqe: mütləq; sağ: 0; en: 1px hündürlük: 12px; fon: 4px -2px 0 #d2d2d2; > li > a ( doldurma: 12px 26px; rəng: #767676; mətn-çevir: böyük hərf; şrift-ağırlıq: qalın; hərflər arası: 1px; şrift ailəsi: "Exo 2", sans-serif; ) .topmenu li a:hover (rəng: #c0a97a; ) .alt menyu ( mövqe: mütləq; sol: 50%; yuxarı: 100%; en: 210px; kənar-sol: -105px; fon: #fafafa ; haşiyə: 1px bərk #ededed; z indeksi: 5; görünmə: gizli; qeyri-şəffaflıq: 0; çevirmək: miqyas(.8); keçid: .4s asan giriş; ) .submenu li a ( padding: 10px 0; haşiyə: 0 10px; haşiyə-alt: 1px solid #efefef; font-size: 12px; color: #484848; font-family: "Kurale", serif; ) .topmenu > li:hover .alt menyu ( görünmə: görünən; qeyri-şəffaflıq: 1; çevirmək: miqyas(1); )

      5. Yuxarı açılan menyu

      Mini-animasiya ilə üfüqi menyu: yuxarı menyu keçidlərinin üzərinə gətirdiyiniz zaman kiçik bir dairə görünür, bu da açılan menyunun görünüşünü müşayiət edir.

      @import url("https://fonts.googleapis.com/css?.jpg); fon-mövqe: mərkəz mərkəz; fon-təkrar: təkrar olunmur; fon ölçüsü: örtük; hündürlük: 100vh; mövqe: nisbi; ) gövdə:əvvəl ( məzmun: ""; mövqe: mütləq; sol: 0; alt: 0; hündürlük: 100%; en: 100%; fon: xətti-gradient(45deg, rgba(0,0,0,0)) , rgba(255,255,255,.8)); nav (mətn hizalanması: mərkəz; doldurma: 40px 0 0; ) nav ul (siyahı üslubu: heç biri; kənar: 0; doldurma: 0; ) nav a ( mətn dekorasiyası : none; display: block; color: #222; .topmenu > li ( display: inline-block; mövqe: nisbi; ) .topmenu > li > a (pozisiya: nisbi; padding: 10px 15px; font-family: " Kaushan Script ", kursiv; şrift ölçüsü: 1,5em; sətir hündürlüyü: 1; hərf aralığı: 3px; ) .topmenu > li > a:before ( məzmun: ""; mövqe: mütləq; z-index: 5; sol: 50% eni: 10px; fon: sərhəd-radius: 50%; qeyri-şəffaflıq: 1; ) .alt menyu ( mövqe: mütləq; z indeksi: 4; sol: 50%; yuxarı: 100%; en: 150px; doldurma: 15px 0 15px; kənar-yuxarı: 5px; fon: ağ; sərhəd-radius: 5px; box-shadow: 0 0 30px rgba(0,0,0,.2); visibility: qeyri-şəffaflıq: 0; qeyri-şəffaflıq: 1; transform: translate(-50%, 0); .3s xətti;

      HTML seçim etiketi istifadəçiyə əvvəlcədən müəyyən edilmiş dəyərlər dəstindən birini seçməyə imkan verən açılan siyahı yaratmaq üçün istifadə olunur.

      İstifadəçiyə görünən mətn dəyər atributunda göstərilən mətndən fərqli ola bilər. Aşağı açılan siyahını necə yaratmaq olar:

      • Açılan siyahı etiketdən istifadə edərək yaradılır seçim variantları etiketdən istifadə etməklə müəyyən edilir
      • Etiketdə

      Açılan siyahıya stil vermək üçün ID istifadə etmək əvəzinə CSS sinifini təyin etmək də mümkündür.

      Növbəti hissədə JavaScript/JQuery-də HTML açılan siyahıdan istifadə nümunələrini göstərəcəyəm. Nümunələr üslubların necə təyin olunacağını da göstərəcək

      Dəyər atributundan istifadə

      Daha əvvəl qeyd edildiyi kimi, dəyər atributunun dəyəri səhifədə göstərilən mətndən fərqli ola bilər. Məsələn, siz istifadəçilər üçün ölkələrin adlarını və ya rənglərini göstərə və dəyər atributunda qısa kodlardan istifadə edə bilərsiniz.

      Aşağıdakı misalda biz dəyər atributu ilə açılan siyahı yaradacağıq:


      Onlayn demo və kodlara baxın

      Etiket üçün

      JavaScript-də seçilmiş seçimə daxil olma nümunəsi

      İndi seçilmiş variantın dəyərinə daxil olmaq və bəzi hərəkətləri yerinə yetirmək üçün bir nümunə yaradaq. Yuxarıdakı nümunədə olduğu kimi rəng seçimləri ilə eyni siyahını yaradırıq. Seçildikdən sonra həmin rəngi sənədə tətbiq etmək üçün düyməni basın:


      Onlayn demo və kodlara baxın

      Seçim dəyəri HTML üçün aşağıdakı kod istifadə olunur:

      Seçimlərin dəyər atributunun dəyərinə daxil olmaq üçün JavaScript-də aşağıdakı kod sətri istifadə olunur mənası mətndən fərqlidir. Rəng seçdikdən sonra jQuery xəbərdarlıqda görünən mətni göstərir. Etiket kodu

      Bu dəyərə necə daxil olmaq olar HTML JavaScript seçimini seçin:

      var selectedcolor = $("#jqueryselect variant:selected").text();

      Siz həmçinin JQuery $.val() metodundan istifadə edərək dəyərə daxil ola bilərsiniz:

      var selectedcolor = $("#jqueryselect").val();

      Yuxarıdakı misalda bu sətri dəyişdirin və kod görünən mətndən daha çox dəyər atributunda qısa kod/rəng dəyərini göstərəcək.

      PHP skriptində dəyər əldə etmək nümunəsi

      Açılan siyahıdan seçilmiş seçimin dəyərini əldə etmək üçün bu nümunədə forma teqdən istifadə etməklə yaradılır

  • PHP skriptindən HTML seçim seçimi dəyərini əldə etmək üçün necə istifadə olunur:

    ". $_POST["selfphp"].""; } ?>

    Forma GET metodunu təyin edirsə, istifadə edin PHP massivi $_GET[“”].

    CSS ilə açılan siyahı tərtib etmək

    İndi açılan siyahı üslublarını necə təyin edəcəyimizə baxaq

    Abunəlik

    Populyar yazılar



    Son qeydlər