Унждаг жагсаалт бүхий HTML санал хүсэлтийн маягт. HTML маягтууд. Жагсаалтын зүйлсийг бүлэглэх
Вэбсайт эсвэл блог үүсгэх, цаашид контентоор дүүргэх явцад янз бүрийн шалтгааны улмаас заримдаа текстийн зарим хэсгийг нуух, илүү их хэмжээний мэдээллийг одоогоор нуусан блокт байрлуулах шаардлагатай болдог. хэрэглэгч өөр зүйл байгаа бөгөөд дараагийн мөр эсвэл хуудас руу шилжихгүйгээр далд агуулгыг үзэх боломжийг түүнд олгоно.
Өмнө нь ийм шийдлийг хэрэгжүүлэхийн тулд олон тооны javascript ашигладаг байсан бол одоо энэ бүгдийг гайхалтай шинж чанаруудыг ашиглан маш амархан хийж болно.
Өнөөдөр бид зөвхөн CSS3 шинж чанаруудыг ашиглан тодорхой текстийн элемент дээр дарахад нээгддэг сайтын хуудас болон тусдаа мессежүүд дээр далд контент үүсгэх хамгийн энгийн аргыг авч үзэх болно. Шилжүүлэгч нь нэг үг, тодруулсан хэллэг, бүхэл өгүүлбэр эсвэл мэдээллийн дүрс байж болно.
Ийм блокуудыг ихэвчлэн их хэмжээний агуулгатай хуудсан дээр ашигладаг бөгөөд үүнийг илүү бүтэцтэй, нягт нямбай болгохын тулд бүх агуулгыг зөвхөн гарчигтай гэж нэрлэгддэг бүлэгт хувааж, бүх текстийг анхдагч байдлаар нуудаг. тодорхой элемент дээр дарж харж болно (дээрхийг үзнэ үү).
Шаардлагагүй усгүйгээр хийхийг хичээцгээе, энэ энгийн механизмыг бүхэлд нь ажиллаж байгаа тодорхой жишээгээр харцгаая, хэрэв та хүсвэл ямар нэг зүйлийг засварлаж болно.
Жишээ №1
Сонгогдоогүй, тэмдэглэгээгүй текстийг нэмэлт мэдээлэл бүхий унадаг блокуудын шилжүүлэгч болгон ашигладаг бөгөөд үүн дээр товшино уу гэсэн хоёрдмол утгагүй урилгатай бөгөөд та үүнийг харахын тулд айдас, эргэлзээгүйгээр хийх ёстой)))
Таны харж байгаагаар бүх зүйл төгс ажилладаг, далд агуулга нь асуудалгүй гарч ирдэг бөгөөд хулганыг бага зэрэг товшилтоор алга болдог бөгөөд үүний зэрэгцээ бид html хүрээ болон форматын аль алинд нь гүйцэтгэх боломжтой хамгийн бага кодыг ашигласан. css загварын. Нэмэлт JavaScript сангуудыг холбохгүйгээр хэрэглэгчийн тал дээр идэвхгүй болсон эсэх талаар мөнхийн санаа зовдог.
Энэ бүх үйлдлийг хэрэгжүүлэх нь CSS3 псевдо ангийн ачаар боломжтой болсон :шалгасан, радио товчлуурууд () гэх мэт интерфэйсийн элементүүдэд хэрэглэнэ. Бид үнэндээ шошгон дээр юу хийсэн Бид төрөл шинж чанарт утгыг шалгах хайрцаг, мөн өвөрмөц танигчтай харгалзах танигч id="hd-1"-ийг өгсөн. for = "hd-1"одоогийн блок шилжүүлэгч. Class.hide доторх none property гэсэн дэлгэцийг тохируулснаар бид чек нүдийг сайтар, үүрд нуух болно.
Үнэндээ энд тайлбарлах онцгой зүйл байхгүй; далд блокуудыг асаах, унтраах бүх механизм нь гурван элементээс бүрдэнэ.
- Checkbox - шошго утга учиртай шалгах хайрцагшинж чанар төрөлмөн тодорхой холбох танигчтай
- Гарчиг (текст солих) - шошго шинж чанарын өвөрмөц танигч утгатай төлөө, (танигч нь шошго танигчтай ижил байх ёстой оролтутга учиртай шалгах хайрцагшинж чанар төрөл).
- Агуулгын блок нь div шошго бөгөөд хэрэглэгч товших хүртэл, янз бүрийн далд агуулгыг (текст, зураг гэх мэт) агуулсан байх болно.
Миний эмх замбараагүй тайлбараас гол нь юу болох нь тодорхой болсон гэж найдаж байна. CSS нь шинэ хэв маягийг ашигладаг (псевдо анги ашиглан шалгасан) өмнө нь нуугдсан агуулгын блокийг хэрэглэгч өвөрмөц танигчаар тэмдэглэсэн нүдтэй холбосон элемент дээр дарахад л харуулах.
Энэ бүхнээс харахад ийм байна чухал тэмдэглэл:
Нэг хуудсан дээр олон далд блок ашиглах үед радио товчлуур бүр нь бусад блокуудын ID-аас ялгаатай өвөрмөц ID-тай байх ёстой.
Тиймээс, бид юу хаашаа, яагаад явдгийг тодорхойлоод, одоо бүх бүтцийн html хүрээг харцгаая.
< input class = "hide" id= "hd-1" type= "checkbox" > < label for = "hd-1" >Энд дарж нээх! label> < div>Нууцлагдсан контент...... div> < input class = "hide" id= "hd-2" type= "checkbox" > < label for = "hd-2" >Дэлгэрэнгүйг энд дарж уншина уу! label> < div>Нууцлагдсан контент... div> |
Дараа нь бид CSS хэв маягийг бий болгоход шууд шилжих бөгөөд үүнгүйгээр энэ загвар бүхэлдээ ажиллахгүй болно. Кодын хамгийн бага хэмжээ нь ямар ч чимэглэлгүйгээр унадаг блокийн дэвсгэрийг бага зэрэг тодруулж, танд зориулж, далд текстийн хүрээг харуулах болно. Та блокуудыг хүссэнээрээ загварчлах, хүрээ, дугуй булан нэмэх, текстийг тодруулах, эсвэл .
1.CSS
. нуух, . нуух + шошго ~ div (дэлгэц: байхгүй; ) /* шошгоны текстийн төрөл */. нуух + шошго, . нуух: шалгасан + шошго (зайлгах: 0; өнгө: ногоон; курсор: заагч; хилийн доод хэсэг: 1px цэгтэй ногоон; ). нуух: шалгасан + шошго + div (дэлгэц: блок; дэвсгэр: #efefef; - moz- хайрцаг- сүүдэр: оруулга 3px 3px 10px #7d8e8f; - webkit- хайрцаг- сүүдэр: оруулга 3px 3px 10px #7d8e8f; хайрцаг- сүүдэр: оруулга 3px 3px 10px #7d8e8f; дүүргэлт: 10px; ) |
/* шалгах хайрцаг болон агуулгын блокуудыг нуух */ .нуух, .нуух + шошго ~ div (дэлгэц: байхгүй; ) /* шошгоны текстийн харагдах байдал */ .нуух + шошго, .нуух: шалгасан + шошго ( padding: 0; өнгө: ногоон ; курсор: заагч; хүрээ-доод: 1px цэгтэй ногоон; ) /* шилжүүлэгч идэвхтэй үед шошгоны текстийн харагдах байдал */ .нуух: шалгагдсан + шошго (өнгө: улаан; хилийн доод: 0; ) /* checkbox идэвхтэй, агуулга бүхий блокуудыг харуулах */ .hide:checked + label + div ( дэлгэц: блок; дэвсгэр: #efefef; -moz-box-shadow: inset 3px 3px 10px #7d8e8f; -webkit-box-shadow: inset 3px 3px 10px #7d8e8f; хайрцаг-сүүдэр: оруулга 3px 3px 10px #7d8e8f; дэвсгэр: 10px; )
Энэ бүхэн нь даяанч жишээний хувьд бүрэн хангалттай доод хэмжээ юм. Гэхдээ бид ядаж хэдэн сайхан зүйл нэмэхгүй бол бид огтхон ч болохгүй бөгөөд хэрэглэгчдэд хаана товшихыг нүдээр хэлэх нь дээр.
Хоёрдахь жишээнд би нэмэх хэлбэрээр энгийн тэмдэг нэмсэн бөгөөд энэ нь энд өөр зүйл нуугдаж байгааг тодорхой харуулж байна; дарахад тэр даруй хасах болж хувирдаг бөгөөд би нуугдмал блокуудад агуулга бүхий бага зэрэг хөдөлгөөнт дүрс нэмсэн. Тэд гарч ирдэг бөгөөд энэ бүхэн зөвхөн CSS3-ийн ид шидийн тусламжтайгаар гарч ирдэг.
2.CSS
/* шалгах нүд болон агуулгын блокуудыг нуух */. нуух, . нуух + шошго ~ div (дэлгэц: байхгүй; ) /* шошгоны текстийн төрөл */. нуух + шошго (хаваас: 0; дэвсгэр: 0; өнгө: ногоон; курсор: заагч; дэлгэц: шугаман блок; ) /* шилжүүлэгч идэвхтэй үед шошгоны текстийн харагдах байдал */. нуух: шалгасан + шошго (өнгө: улаан; хүрээ- доод: 0; ) /* шалгах хайрцаг идэвхтэй үед контент бүхий блокуудыг харуулах */. нуух: шалгасан + шошго + div (дэлгэц: блок; дэвсгэр: #efefef; - moz- хайрцаг- сүүдэр: оруулга 3px 3px 10px #7d8e8f; - webkit- хайрцаг- сүүдэр: оруулга 3px 3px 10px #7d8e8f; хайрцаг- сүүдэр: оруулга 3px 3px 10px #7d8e8f;зүүн захын зай: 20px; дүүргэгч: 10px; /* гарч ирэх үед бага зэрэг хөдөлгөөнт дүрс */- webkit- animation: fade ease- 0. 5 секундын дотор; - moz- animation: fade ease- 0. 5 секундын дотор; хөдөлгөөнт дүрс: 0. 5 секундын дотор бүдгэрэх; ) /* далд блок гарч ирэх үед хөдөлгөөнт дүрс */@- moz- түлхүүр фрэймүүд бүдгэрнэ (-аас ( тунгалаг байдал: 0 ; ) хүртэл ( тунгалаг байдал: 1 ) ) @- webkit- түлхүүр фрэймүүд бүдгэрнэ (-аас ( тунгалаг байдал: 0 ; ) хүртэл ( тунгалаг байдал: 1 ) ) @ түлхүүр фрэймүүд бүдгэрнэ (-аас ( тунгалаг байдал: 0 ; ) хүртэл ( тунгалаг байдал: 1 ) ). нуух + шошго: өмнө ( дэвсгэр өнгө: #1e90ff; өнгө: #fff; агуулга: " \002 B"; дэлгэц: блок; хөвөх: зүүн; үсгийн хэмжээ: 14px; үсгийн жин: тод; өндөр: 16px; шугамын өндөр: 16px; захын зай: 3px 5px; текстийг зэрэгцүүлэх: төв; өргөн: 16px; - webkit- border- радиус: 50%; - moz- хилийн- радиус: 50%; хилийн радиус: 50%; ). нуух: шалгасан + шошго: өмнө ( контент: " \221 2" ; } |
/* шалгах хайрцаг болон агуулгын блокуудыг нуух */ .нуух, .нуух + шошго ~ div (дэлгэц: байхгүй; ) /* шошгоны текстийн харагдах байдал */ .нуух + шошго (маржин: 0; дүүргэх: 0; өнгө: ногоон; курсор : заагч; display: inline-block; ) /* шилжүүлэгч идэвхтэй үед шошгоны текстийн харагдах байдал */ .hide:checked + label (өнгө: улаан; хилийн доод: 0; ) /* шалгах хайрцаг идэвхтэй үед харуулах агуулгатай блокууд */ . hide:checked + label + div (дэлгэц: блок; дэвсгэр: #efefef; -moz-box-shadow: inset 3px 3px 10px #7d8e8f; -webkit-box-shadow: inset 3px 3px 10px #7d8e8f ; box-shadow: inset 3px 3px 10px #7d8e8f; margin-left: 20px; padding: 10px; /* гарч ирэх үед бага зэрэг хөдөлгөөнт дүрс */ -webkit-animation:fade ease-0.5s; -moz-animation:fade ease -0,5 секундын дотор; хөдөлгөөнт дүрс: 0,5 секундын дотор бүдгэрнэ; ) /* далд блок гарч ирэх үед хөдөлгөөнт дүрс гарч ирнэ */ @-moz-keyframes бүдгэрнэ ( ( тунгалаг байдал: 0; ) -аас ( тунгалаг байдал: 1 ) ) @-webkit-keyframes бүдгэрэх ( from ( тунгалаг байдал: 0 ; ) хүртэл ( тунгалаг байдал: 1 ) ) @keyframes fade ( from ( тунгалаг байдал: 0; ) хүртэл ( тунгалаг байдал: 1 ) ) .hide + label:before ( background-color: #1e90ff; өнгө: #fff; агуулга: "\002B"; дэлгэц: блок; хөвөх: зүүн; үсгийн хэмжээ: 14px; үсгийн жин: тод; өндөр: 16px; шугамын өндөр: 16px; захын зай: 3px 5px; текстийг зэрэгцүүлэх: төв; өргөн: 16px; -webkit-border-radius: 50%; -moz-border-radius: 50%; хилийн радиус: 50%; ) .нуух:шалгасан + шошго:өмнө ( контент: "\2212"; )
Бүх тооцоогоор энэ арга нь эргэлзээгүй сайн боловч үргэлжийн адил бөгөөд огт гайхмаар зүйл биш бөгөөд ахиц дэвшлийн мөнхийн тоормос, IE хөтөч, псевдо ангиллын асуудал үүсдэг. шалгасанзөвхөн энэ хөтчийн 9 ба түүнээс дээш хувилбаруудыг дэмждэг. IE-ийн хуучин хувилбаруудын хувьд бүх зүйл ижил хэвээр байгаа тул та javascript ашиглах хэрэгтэй болно.
Нуугдсан хайрцгийг ашигласнаар та загварлаг блок, гулсагч, галерей болон бусад зүйлийг хялбархан хийж болно.
Хүндэтгэсэн, Эндрю
Тодорхойлолт
HTML шошго
Бүрэлдэхүүн
Унждаг жагсаалтын өргөнийг шошгонд заасан хамгийн урт текстээр тодорхойлно