Kutishlarni kutubxonalarisiz CSS yordamida qanday stiliz qilish mumkin?
sobes.tech AI
AIdan javob
Kodni tanlash uchun kutubxonalar bo'lmagan holda, standart elementni yashirish va <label> bilan bog'langan ::before yoki ::after pseudo-elemntlarini stiliz qilish kombinatsiyasidan foydalanish mumkin.
-
Standart tanlashni yashirish:
input[type="checkbox"] { display: none; /* yoki visibility: hidden; height: 0; width: 0; */ } -
Stilga mos "kvadrat" yaratish uchun
<label>pseudo-elemntidan foydalanish:input[type="checkbox"] + label::before { content: ''; /* Pseudo-elemntni ko'rsatish uchun majburiy */ display: inline-block; width: 1em; /* Kvadrat o'lchami */ height: 1em; /* Kvadrat o'lchami */ border: 1px solid #ccc; /* Kvadrat chegarasi */ margin-right: 0.5em; /* Matndan bo'sh joy */ vertical-align: middle; /* Vertikal tekislik */ /* Boshqa ixtiyoriy uslublar: background-color, border-radius, box-shadow */ } -
Belgilanadigan holat uchun uslub:
checkedselektoridan foydalanamiz valabelpseudo-elemntining uslubini o'zgartiramiz.input[type="checkbox"]:checked + label::before { background-color: #007bff; /* Belgilangan checkbox fon rangi */ border-color: #007bff; /* Belgilangan checkbox ramka rangi */ /* Boshqa ixtiyoriy uslublar */ } -
"Check" yoki boshqa indikator qo'shish:
Ikkinchi pseudo-elemnt (
::after) yoki mavjud::beforenibackground-image(svg, data-url) yokiborderuslublari bilan stiliz qilish mumkin.borderyordamida check belgisini yaratish misoli:input[type="checkbox"]:checked + label::after { content: ''; display: inline-block; width: 0.4em; /* Check chizig'ining kengligi */ height: 0.7em; /* Check chizig'ining balandligi */ border-right: 2px solid white; /* Checkning o'ng qismi */ border-bottom: 2px solid white; /* Checkning past qismi */ transform: rotate(45deg); /* Check shaklini hosil qilish uchun burish */ position: absolute; /* ::before ichida joylash uchun */ top: 0.1em; /* Pozitsiya sozlamasi */ left: 0.3em; /* Pozitsiya sozlamasi */ /* `input[type="checkbox"] + label::before` ga `position: relative;` qo'shilishi mumkin */ }
Bu misolni to'g'ri ishlashi uchun, input[type="checkbox"] + label::before ga position: relative; qo'shing:
input[type="checkbox"] + label::before {
/* ... avvalgi uslublar ... */
position: relative; /* ::after uchun qo'shiladi */
}
Ushbu yondashuv checkboxning tashqi ko'rinishini to'liq nazorat qilish va yaxshi kirish imkoniyatini ta'minlaydi, chunki standart element hali mavjud va foydalanuvchi harakatlariga (klik, fokus) javob beradi. input va labelni id va for atributlari yordamida bog'lash muhim, shunda matnni bosganda to'g'ri ishlaydi.
<input type="checkbox" id="myCheckbox">
<label for="myCheckbox">Shartlarga rozilik bildiraman</label>