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
Bu postu paylaşın
Facebook
Twitter
Google Plus
ilə təmasda
RSS
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:
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:
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
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ı elementləri üçün konteyner rolunu oynayır və onun görünüşünü, açılan siyahı və ya tək və ya çox seçimli siyahı olacağını müəyyənləşdirir. Görünüş etiketin ölçüsü atributunun istifadəsindən asılıdır , 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ı
Etiketin atributlarına baxaq , 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 çox seçim siyahısı kimi. Siyahının son görünüşü istifadə olunan ölçü atributundan asılıdır. Əgər o yoxdursa, o zaman siyahının hündürlüyü elementlərin sayına bərabərdir, əgər ölçüsün dəyəri elementlərin sayından azdırsa, onda şaquli sürüşmə çubuğu görünür;
Bir neçə siyahı dəyərini seçmək üçün siçan kursoru ilə birlikdə Ctrl və Shift düymələrindən istifadə edin.
Nümunə 1 çox seçim siyahısının necə yaradılacağını göstərir.
Nümunə 1: Çox Seçimli Siyahı
HTML5 IE Cr Op Sa Fx
Siyahı
ad
Unikal element adını müəyyən edir . Tipik olaraq, bu ad skriptlər vasitəsilə verilənlərə daxil olmaq və ya server tərəfi işləyicisi tərəfindən seçilmiş dəyəri əldə etmək üçün istifadə olunur.
ölçüsü
Siyahının hündürlüyünü təyin edir. Ölçü birinə bərabərdirsə, siyahı açılan siyahıya çevrilir. Varsayılan dəyər çoxlu atributdan asılıdır. Əgər mövcuddursa, onda siyahının ölçüsü elementlərin sayına bərabərdir. Çoxluq olmadıqda, size atributunun dəyəri 1-dir.
Tag atributları
Tag
seçilmişdir
Cari siyahı elementini vurğulayır. Əgər etiket ç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 , və dəyər seçilmiş siyahı elementlərinin dəyər atributudur. Məna ya maddənin mətni ilə üst-üstə düşə bilər, ya da müstəqil ola bilər.
etiket
Siyahı elementinin etiketini göstərmək üçün nəzərdə tutulmuşdur, içindəki mətnlə müqayisədə qısaldılmışdır
Siyahının yaradılması nümunə 2-də göstərilmişdir.
Misal 2: Siyahıdan istifadə
HTML5 IE Cr Op Sa Fx
Siyahı
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
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.
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 ;
Bir etiketin içərisində 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 CSS/CSS3 istifadə edərək və Bootstrap çərçivəsi.
Sadə bir açılan siyahı yaratmaq nümunəsi
Bu nümunə, üç seçimdən ibarət açılan siyahı yaratmaq üçün HTML seçim seçimindən istifadə edir:
Yuxarıdakı nümunə açılan siyahı yaratmaq üçün aşağıdakı işarələmədən istifadə edir:
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 Aşağıdakı kod istifadə olunur:
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 :
var seltheme = document.getElementById(“selcolor”).value;
Düymə kliklədikdə, açılan siyahıda seçilmiş dəyəri dəyişənə təyin edən JS funksiyası çağırılır. Bu dəyər cari sənədə rəng tətbiq etmək üçün istifadə olunur.
JQuery-də görünən mətnə daxil olmaq
Bu dəfə seçilmiş seçimin dəyərinə daxil olmaq üçün JQuery-dən istifadə edəcəyəm: həm mətn, həm də dəyər. Bu demoda mən HTML-də seçim etiketində görünən mətnə daxil olacağam:
Onlayn demo və kodlara baxın
Etiketdəki hər seçim üçün kodda 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 sonrakı:
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 işarələmə bölməsində. Açılan siyahıdan rəng seçdikdən sonra “Göndər” düyməsini sıxın. Forma məlumatları eyni PHP faylına ötürüləcək, bundan sonra seçilmiş rəng göstəriləcək:
Onlayn demo və kodlara baxın
Nümunədə istifadə olunan forma metodu POST-dur, ona görə də PHP $_POST[“”] massivindən istifadə edərək forma dəyərlərini əldə edə bilərsiniz. Bu, nümunədə istifadə olunan forma kodudur:
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 CSS-in gücündən istifadə etməklə. Aşağıdakı demoda bəzi sadə CSS xüsusiyyətlərindən və CSS3 gradient xüsusiyyətlərindən istifadə etdim:
Onlayn demo və kodlara baxın
Burada xətti-qradiyentlə birlikdə qutu-kölgə xassəsindən istifadə olunur. Tam CSS kodu belə görünür:
Sərhəd-radius xüsusiyyətindən istifadə edərək yuvarlaqlaşdırılmış künclər
HTML seçmə seçimi üçün küncləri yuvarlaqlaşdırmaq üçün CSS3 sərhəd-radius xassəsini təyin edəcəyik. Rəng sxemi də dəyişir. İstədiyiniz kimi haşiyələr, enlər, kənarlar və digər xüsusiyyətlərlə təcrübə edə bilərsiniz:
Onlayn demo və kodlara baxın
Çoxlu CSS Atributları və Üslublarından istifadə
İstifadəçilərə siyahıdan birdən çox variant seçməyə icazə vermək üçün siz çoxsaylı atributdan istifadə etməlisiniz. Yuxarıdakı nümunədə yalnız bir seçim seçilə bilər. Çoxlu istifadə edərkən, CTRL düyməsini basaraq bir neçə variant seçə bilərsiniz:
Onlayn demo və kodlara baxın
Gözəl açılan siyahılar yaratmaq üçün Bootstrap çərçivəsi və plaginlərindən istifadə edin
Əgər siz Bootstrap çərçivəsini istifadə edirsinizsə, o zaman gözəl HTML variantları yaratmaq üçün plaginlərdən istifadə etmək imkanınız var.