Ro'yxat uslubi CSS rangi. Ro'yxatdagi markerlar rangini qanday o'zgartirish mumkin? Ro'yxat marker turi ro'yxat uslubi turi
Belgilangan ro'yxatning satrlarini asosiy matndan qandaydir tarzda ajratish uchun siz ro'yxatdagi o'qlarning rangini matn rangidan farqli qilishingiz mumkin.
Standart qora nuqta. Agar siz shunchaki rangni li elementiga o'rnatsangiz, unda hech narsa ishlamaydi - rang butun chiziqqa o'rnatiladi va siz faqat markerning rangini o'zgartirishingiz kerak (nuqtalarning ul li rangi).
CSS yordamida o'q rangini qanday o'zgartirish mumkin
- Xususiyat yordamida asl ro'yxat belgilarini yashirish ro'yxat uslubi turi
- Pseudo-element yordamida o'z markerlaringizni qo'shish : oldin va xususiyatlari mazmuni. Bu element oldiga istalgan matn yoki belgini kiritish imkonini beradi li.
- Markerning ko'rinishini rang, shrift, fon va boshqalarni o'zgartirish orqali CSS uslublari orqali boshqarish mumkin. Men qalin Montserrat shriftidan foydalandim.
Agar sizda markerlar keraksiz joylarda, masalan, asosiy menyuda yoki altbilgida ikki nusxadagi menyuda paydo bo'ladigan vaziyat mavjud bo'lsa, buni osongina tuzatish mumkin. Faqat qo'shing asosiy element, unda marker ranglarini o'zgartirishimiz kerak bo'lgan ro'yxatlar mavjud. Men so'zni qo'shdim maqola va endi bu o'zgarishlar faqat saytning kontent maydoniga tegishli.
maqola li (ro'yxat uslubi turi: hech biri; /* Standart belgilarni yashirish */ ) maqola li:before (shrift-family: "Montserrat", sans-serif; shrift-og'irligi: 400; rang: #d7002e; /* Marker rangi */ kontent: " "; /* Marker */ padding-o'ng: 7px; / * Markerdan matnga chekinish */ )O'qlarning rangini matn rangidan farq qilish uchun o'zgartirishning ikkita mashhur usuli mavjud.
Foydalanish
Har bir element ichida
dizayn yaratish
Bunda markerlarning rangi li selektori uchun rang uslubi xossasi bilan, matn rangi esa oraliq selektori tomonidan aniqlanadi (1-misol).
1-misol: Ichki teglardan foydalanish
- Skripka
- Gitara
- Qopqoqlar
- Organ organi
- Selesta
Ushbu misolning natijasi quyida ko'rsatilgan (1-rasm).
Guruch. 1. Asosiy matndan rangi bilan farq qiluvchi markerlar
Oddiyligiga qaramay, usul noqulay, ayniqsa katta ro'yxatlar bilan, chunki endi siz har bir ro'yxat elementiga qo'shishingiz kerak bo'ladi. .
Foydalanish:: oldin
Gap shundaki: biz list-style-type xususiyati orqali asl roʻyxat belgilarini olib tashlaymiz va :: oldin pseudo-element va kontent xususiyatidan foydalanib oʻz markerlarimizni qoʻshamiz. Bu havola element oldiga istalgan matn yoki belgini kiritish imkonini beradi, bu holda
2-misol: Pseudo-elementdan oldin ::dan foydalanish
- Shimoliy
- janubiy
- G'arbiy
- Sharq
Ushbu misolning natijasi rasmda ko'rsatilgan. 2.
Maqolada raqamlanmagan ro'yxat uchun ma'lum bir markerni o'rnatishga imkon beradigan bir nechta usullar keltirilgan, shuningdek ularning afzalliklari va kamchiliklari ko'rsatilgan.
Agar siz biron bir saytni tahlil qilsangiz, kontentda ko'pincha turli xil ro'yxatlar mavjudligini bilib olishingiz mumkin: menyular, mahsulotlar ro'yxati va boshqalar. HTML kodida teg raqamlangan ro'yxat uchun, teg esa markirovka qilingan ro'yxat uchun javobgardir. ro'yxati.
Shuni ham ta'kidlash kerakki, amalda markirovka qilingan ro'yxatlar ancha keng tarqalgan, ammo ularning bitta kichik kamchiliklari bor. Ro'yxatdagi marker siz foydalanayotgan brauzerga qarab boshqacha ko'rinadi. Jiddiy dizayner uchun bu muammo.
Ushbu salbiy ta'sirni bartaraf etish uchun ro'yxat uslubi xususiyatidan foydalanib marker chiqishini bekor qilishingiz kerak:
ol, ul (roʻyxat uslubi: yoʻq; )
Bu noyob markerlar va belgilar bilan ro'yxatni shakllantirishni boshlaydi. Quyida barcha brauzerlarda o'ziga xos va izchil bo'lgan ro'yxat elementi piktogrammalarini taqdim etishning eng keng tarqalgan usullari keltirilgan.
Rasmlar orqali markerlar
Ro'yxat uchun markerni belgilashning eng keng tarqalgan va oddiy usuli fon tasviridan (fon xususiyatidan) foydalanishdir. Usul uslublar jadvalida ro'yxat elementlari uchun fon tasvirini, shuningdek, yangi marker uchun joy ajratadigan to'ldirish xususiyatini belgilashga asoslangan. Quyida kod misoli keltirilgan:
ul (ro'yxat uslubi: hech biri; ) li( fon: url (tasvirga yo'l) takrorlanmaydi; to'ldirish - chap: 20px; )
Ushbu usul o'zining o'ziga xosligi bilan quvonadi, chunki u rasm shaklida mutlaqo har qanday markerni o'rnatishga imkon beradi. Quyida bizning kodimiz brauzerda qanday ko'rinishi:
Ushbu usulning asosiy ijobiy tomoni shundaki, u 100% o'zaro faoliyat brauzer bilan mos keladi, ammo shunga qaramay, kichik kamchilik mavjud. Rasmdan foydalanish serverga qo'shimcha qo'ng'iroqdir.
Oldindan foydalanilgan markerlar
Agar dizayn shartlari imkon bersa, rasmsiz qilishingiz mumkin bo'lgan variant mavjud. Ro'yxat eng oddiy elementlar, masalan, kvadrat ( ) yoki o'q ( →) bilan belgilangan asosiy tarkibni loyihalashda bunga ko'pincha ruxsat beriladi. Shunday qilib, biz har qanday mos keladigan maxsus belgi marker sifatida harakat qila oladigan nuqtaga keldik.
Keyinchalik, ro'yxat elementlariga maxsus belgilarni qanday kiritish kerakligi haqida savol tug'iladi. Tabiiyki, qo'lda emas, aks holda bu juda cho'zilgan va zerikarli jarayon bo'ladi, bundan tashqari, u ham ko'p mehnat talab qiladi. Pseudo-element bu vaziyatdan chiqishimizga yordam beradi oldin, ulardan foydalanish ma'lum bir selektorga bog'langan, bu bizga maxsus belgilardan markerlarni belgilash jarayonini avtomatlashtirishga imkon beradi. Ushbu yechim IE uchun yozilishini hisobga olgan holda ko'pgina brauzerlar uchun javob beradi ifoda.
Quyida chiziqcha bilan markirovka qilingan ro'yxatni yaratadigan kod misoli keltirilgan:
li( this. innerHTML = "-" + this. innerHTML) /*IE hack*/ ) li: before( kontent: " \201 3" ; }
Amalda biz quyidagi rasmni olamiz:
Eslatib o‘taman, real sharoitda xakerlar shartli izohlar bilan bog‘lanadi.
Ushbu usuldan foydalanganda asosiy narsa kerakli belgining kodlanishini bilishdir. Shuni ham ta'kidlash kerakki, ifodalash uchun maxsus belgilar raqamli kombinatsiya yoki mnemonik kod sifatida yoziladi. Kontent xususiyatiga kelsak, bu holda birinchi navbatda qiya chiziq qo'yiladi, keyin esa o'n oltilik kod yoziladi.
insertAdjacentHTML dan foydalanish
Yuqoridagi usul har doim ham afsonaviy IEda to'g'ri ishlamaydi (hackga qaramay). Aniqrog'i, ushbu brauzer uchun "tayoqchalar" to'liq ishlab chiqilmagan. Keyinchalik samarali usul asoslangan insertAdjacentHTML, quyida ushbu usul uchun kod mavjud:
li( //z-indeks: ifoda(runtimeStyle.zIndex = 1, insertAdjacentHTML("afterBegin", "-")); }
CSS xususiyatlari tomonidan chizilgan markerlar
Ba'zi kvadrat belgilarini ba'zi CSS xususiyatlaridan foydalanib chizish mumkin. Masalan, rangli plombali kvadrat background-color xususiyatidan, ramka shaklidagi kvadrat esa border xususiyatidan foydalanib chiziladi (darvoqe, plombali kvadratni shu tarzda chizish mumkin). . CSS faylidagi misol yozuvi:
li( //z-indeks: ifoda (runtimeStyle.zIndex = 1, bu. innerHTML = "" + bu. innerHTML) /* e6 va 7 uchun hack */) li: oldin, . listMarkerBackColor( fon-rang: #539127; kenglik: 7px; balandlik: 7px; kontent: "" ; float: chap; chekka: 6px 6px 0 0; toshib ketish: yashirin; ) html . listMarkerBackColor( chekka o'ng: 1px; /* IE6 da kichik xatolikni tuzating */ }
Shunday qilib, CSS xususiyatlari bilan chizilgan marker amalda shunday ko'rinadi:
Oldin va birinchi bolani birgalikda ishlatish
Ushbu usul ko'pincha veb-saytda non bo'laklarini yaratishda qo'llaniladi. Nima haqida gapirayotganimizni bilmaganlar uchun quyidagi misolga qarang.
Bunday holda, har bir havola bir-biridan maxsus belgi bilan ajratiladi, lekin birinchi elementdan oldin hech qanday maxsus belgi bo'lmasligi kerak. Bunda bizga pseudo-klass yordam beradi birinchi farzand, bu ro'yxatning faqat birinchi elementiga kirish imkonini beradi. Kodda u shunday ko'rinishi kerak
HTML
< ul> < li>< a href= "#" >uy a> li> < li>< a href= "#" >Blog a> li> < li>< a href= "#" >CSS a> li> < li>target= "_blank" dan foydalanilganda yaroqli kod li> ul>
li: oldin (kontent: " \21 92" ; ) li: birinchi- bola: oldin (kontent: "" ; )
Shuni ham ta'kidlash joizki, ushbu uslub nafaqat non bo'laklari uchun, balki dizayn qisqartmasidan kelib chiqqan holda muntazam markirovka qilingan ro'yxatlar uchun ham qo'llaniladi.
U qaysi brauzerlarda ishlaydi?
6.0+ | 4.0+ | 9.5+ | 3.0+ | 3.0+ | - | - |
xulosalar
Xulosa qilib aytganda, oldingi soxta elementdan foydalanish asosiy mazmunda asosli va oqilona ekanligini ta'kidlashimiz mumkin, chunki ro'yxatlarni loyihalash uchun maxsus talablar yo'q. Bu, o'z navbatida, rasmdan foydalanish variantiga nisbatan serverdagi yukni kamaytiradi. Va agar siz asosiy tarkibda juda ko'p markirovka qilingan ro'yxatlar bo'lishi mumkinligini ta'kidlasangiz, farq yanada sezilarli bo'lishi mumkin. Lekin rasmlar marker dizayn echimlari nuqtai nazaridan katta foyda keltiradi.
CSS ro'yxatlari— roʻyxatlarni loyihalash uchun masʼul boʻlgan xususiyatlar toʻplami. Veb-sayt navigatsiya panelini yaratishda HTML ro'yxatlaridan foydalanish juda keng tarqalgan. Ro'yxat elementlari blok elementlari to'plamini ifodalaydi.
Siz standart CSS xususiyatlaridan foydalanishingiz mumkin ro'yxat markerining ko'rinishini o'zgartirish, marker uchun rasm qo'shing, shuningdek marker joylashuvini o'zgartirish. Marker blokining balandligi chiziq balandligi xususiyati bilan o'rnatilishi mumkin.
CSS uslublari yordamida ro'yxatlarni loyihalash
1. Ro‘yxat marker turi ro‘yxat-stili-turi
Xususiyat marker turini o'zgartiradi yoki markerni olib tashlaydi Belgilangan va raqamlangan ro'yxatlar uchun. Meroslangan.
ro'yxat uslubi turi | |
---|---|
Qiymatlar: | |
disk | Standart qiymat. To'ldirilgan doira ro'yxat elementlari uchun marker vazifasini bajaradi. |
arman | An'anaviy arman raqamlash. |
doira | Ochiq doira marker vazifasini bajaradi. |
cjk-ideografik | Ideografik raqamlash. |
kasr | 1, 2, 3, 4, 5, … |
o'nlik bosh nol | 01, 02, 03, 04, 05, … |
gruzin | An'anaviy gruzin raqamlash. |
ibroniy | An'anaviy ibroniycha raqamlash. |
hiragana | Yaponcha raqamlash: a, i, u, e, o, … |
hiragana-iroha | Yaponcha raqamlash: i, ro, ha, ni, ho,… |
katakana | Yaponcha raqamlash: A, I, U, E, O, … |
katakana-iroha | Yaponcha raqamlash: I, RO, HA, NI, HO, … |
pastki alfa | a, b, c, d, e, … |
pastki yunoncha | Yunon alifbosining kichik harflari. |
pastki lotincha | a, b, c, d, e, … |
pastki rim | i, ii, iii, iv, v, … |
yo'q | Hech qanday marker yo'q. |
kvadrat | To'ldirilgan yoki to'ldirilmagan kvadrat marker vazifasini bajaradi. |
yuqori alfa | A, B, C, D, E, … |
yuqori lotincha | A, B, C, D, E, … |
yuqori roman | I, II, III, IV, V, … |
boshlang'ich | Xususiyat qiymatini standart qiymatga o'rnatadi. |
meros | Asosiy elementdan xususiyat qiymatini meros qilib oladi. |
Sintaksis
Ul (roʻyxat uslubi turi: yoʻq;) ul (roʻyxat uslubi turi: kvadrat;) ol (roʻyxat uslubi turi: yoʻq;) ol (roʻyxat uslubi turi: pastki alfa;) Guruch. 1. Belgilangan va raqamlangan ro'yxatlarni loyihalash misoli
2. Ro'yxat elementlari uchun tasvirlar ro'yxat uslubi-tasvir
Roʻyxat elementi belgilari sifatida tasvirlar va gradient toʻldirishlardan foydalanishingiz mumkin. Meroslangan.
Sintaksis
Ul (roʻyxat uslubidagi rasm: url("rasmlar/romb.png");) ul (roʻyxat uslubidagi tasvir: chiziqli-gradient (#FF7A2F 0, #FF7A2F 50%, #FFB214 50%);) Guruch. 2. Rasm yordamida markerli ro‘yxatni loyihalash
Guruch. 3. Gradient yordamida markirovka qilingan ro‘yxatni loyihalash
3. Ro‘yxat uslubi-pozitsiyasi
Bu xususiyat markerni ro'yxat elementi tarkibidan tashqarida yoki ichiga joylashtirish imkoniyatini beradi. Meroslangan.
Ushbu o'quv maqolasi CSS-dagi ro'yxatlar bilan ishlashga qaratilgan bo'lib, siz o'q turini, ro'yxat elementiga nisbatan o'qning joylashishini, o'zingizning o'qlaringizni yaratishni va hatto o'q rangini o'zgartirishni o'rganasiz.
O'ylaymanki, siz HTML 5 ro'yxatlarning ikkita asosiy turidan foydalanishini allaqachon bilasiz (ta'riflar ro'yxati va menyu elementlari bundan mustasno):
- raqamlangan (tartibli) ro'yxat - HTML elementi
- Belgilangan (tartibsiz) ro'yxat - HTML elementi
CSS bizga ushbu ro'yxatlarning ko'rinishini formatlash uchun juda ko'p imkoniyatlarni beradi, keling, asosiylarini ko'rib chiqaylik.
Marker turini o'zgartirish
Men ko'rib chiqmoqchi bo'lgan birinchi mulk - bu mulk list-style-type , bu ro'yxat elementi markerining turini belgilaydi.
Masalan, navigatsiya menyulari ko'pincha oddiy markirovka qilingan ro'yxatlardan iborat (HTML elementi
- /* pastki rim belgisi bilan raqamlangan ro'yxat */
- Ro'yxat elementi
- Ro'yxat elementi
- Ro'yxat elementi
- /* oʻq turidagi doira bilan markirovka qilingan roʻyxat */
- Ro'yxat elementi
- Ro'yxat elementi
- Ro'yxat elementi
IN bu misolda biz ikkita uslub yaratdik, birinchisi marker turini o'rnatadi - kichik rim raqamlari (kichik rim qiymati), biz uni raqamlangan ro'yxatga qo'llaymiz (HTML elementi).
- ) va markirovka qilingan ro'yxatga (HTML elementi
- ) marker turini oʻrnatish yoki quyidagi misolda koʻrsatilganidek, juft yoki toq roʻyxat elementlariga maʼlum markerni qoʻllaydigan uslublarni yaratish uchun:
List-style-type xususiyatining o'zgaruvchan uslublariga misol - Ro'yxat elementi
- Ro'yxat elementi
- Ro'yxat elementi
- Ro'yxat elementi
- Ro'yxat elementi
- Ro'yxat elementi
- Ro'yxat elementi
- Ro'yxat elementi
Ushbu misolda biz hamma narsani stilize qildik g'alati ro'yxat elementlari - marker turini ko'rsatadi kvadrat, va matn rangi ko'rsatilgan yashil. Hatto Ro'yxat elementlari quyidagi uslubni oldi: qizil matn rangi va yo'qligi marker.
Bizning misolimiz natijasi:
Ro'yxat elementiga nisbatan markerning joylashishi
Bizning misolimiz natijasi:
Guruch. 71 list-style-position xususiyatidan foydalanishga misol (roʻyxatlardagi marker/raqamning joylashuvi).
O'zingizning markerlaringizni yarating
Ertami-kechmi siz o'zingizning dizayningiz bilan ro'yxat markerlarini yaratishingiz kerak bo'ladi, CSS xususiyati list-style-image tufayli biz ushbu istakni loyihangizda amalga oshirishimiz mumkin.
Xususiyat sintaksisi quyidagicha:
ol(ro'yxat uslubidagi rasm: url("images/primer.png"); /* tasvirning nisbiy yo‘lini belgilang */ } ul(ro'yxat uslubidagi tasvir: ; /* tasvirga mutlaq yo‘lni belgilang */ }Qavslar ichidagi qiymat siz marker sifatida foydalanmoqchi bo'lgan tasvir yo'liga mos keladi. Tasvirga yo'l mutlaq yoki nisbiy bo'lishi mumkin. Nisbiy yo'lni belgilashda, muhim nuqta shumi sahifani emas, balki uslublar jadvalini joylashtirishga nisbatan ko'rsatilishi kerak.
Agar siz o'zingizning markerlaringizni loyihalashni rejalashtirmoqchi bo'lsangiz, unda siz grafik tahrirlash dasturidan foydalanishingiz yoki tayyor to'plamlardan foydalanishingiz kerak bo'ladi. E'tibor bering, agar siz hamma narsani to'g'ri bajargan bo'lsangiz ham, rasm sahifaga yuklanmasligi mumkin, bu holda siz rasmni tahrirlashingiz kerak, shunda uning foni shaffof bo'ladi.
Keling, hujjatda maxsus markerlardan foydalanish misolini ko'rib chiqaylik:
CSS xususiyatidan foydalanish misoli list-style-image .test(ro'yxat uslubidagi rasm: url("http://site/images/mini5.png"); /* marker sifatida foydalaniladigan rasmga mutlaq yo‘lni belgilang */ } - Ro'yxat elementi
- Ro'yxat elementi
- Ro'yxat elementi
- Ro'yxat elementi
- Ro'yxat elementi
- ) psevdo-elementni (: oldin) yaratilgan tarkibni (CSS xususiyati mazmuni) qo'shing, u bilan bir xil bo'ladi. ko'rinish marker Belgilangan ro'yxat(HTML elementi
- ), faqat bizning vazifamiz uchun zarur bo'lgan rang.
- ). Agar bu xususiyat bu holda qo'llanilmasa, marker matnga yaqin joylashgan bo'lib, u vizual ko'rinishga ega emas. Elementlarning ichki va tashqi chegaralari bilan ishlash "" darsligining keyingi maqolasida batafsil ko'rib chiqiladi.
Mavzu bo'yicha savol va topshiriqlar
Keyingi mavzuga o'tishdan oldin amaliy topshiriqlarni bajaring:
Agar siz to'ldirishda qiyinchiliklarga duch kelsangiz amaliy vazifa Siz har doim misolni ochishingiz mumkin alohida oyna va qaysi CSS kodi ishlatilganligini tushunish uchun sahifani tekshiring.
2016-2019 Denis Bolshakov, siz sayt ishi bo'yicha fikr va takliflaringizni [email protected] manziliga yuborishingiz mumkin.
Shuni esda tutingki, ushbu misolda har bir ro'yxat elementida (HTML elementi) o'ngga ichki chekinish imkonini beruvchi padding-right xususiyati ishlatilgan.
- ). Agar bu xususiyat bu holda qo'llanilmasa, marker matnga yaqin joylashgan bo'lib, u vizual ko'rinishga ega emas. Elementlarning ichki va tashqi chegaralari bilan ishlash "" darsligining keyingi maqolasida batafsil ko'rib chiqiladi.
- ) biz marker turini ichi bo'sh doira (qiymat doirasi) qilib belgilovchi uslubni qo'lladik.
Bizning misolimiz natijasi:
Iltimos, ro'yxat uslubi turi xususiyatini hatto bitta ro'yxat elementiga (HTML elementi
Ushbu misolda biz ko'rsatamiz mutlaq yo'l marker sifatida ishlatiladigan rasmga.
Bizning misolimiz natijasi:
CSS-da marker rangini o'zgartirish
Ushbu maqolani yakunlash uchun element rangini o'zgartirmasdan marker rangini o'zgartirishning ilg'or usulini ko'rib chiqaylik. CSS yordamida kontent xususiyati va avval muhokama qilingan :befor psevdo-element:
Ushbu usulning mohiyati shundaki, ro'yxatning har bir elementi oldida (HTML element