Middle
Maxsus belgilashni qanday amalga oshirasiz?
sobes.tech AI
AIdan javob
Amal qilishning bir nechta usullari mavjud:
- Nativ inputni yashirish, labelni stilizatsiya qilish. Bu eng qulay va semantik jihatdan to'g'ri usul.
- Nativ inputni to'liq yashirish,
aria-atributlari va JavaScript yordamida holatni boshqarish. Bu uchun ko'proq ehtiyotkorlik bilan ishlash talab qilinadi.
Nativ inputni yashirish bilan amalga oshirish:
-
HTML:
// Yashirin input va unga bog'langan labeldan foydalanamiz. <input type="checkbox" id="my-checkbox" class="visually-hidden"> <label for="my-checkbox" class="custom-checkbox-label"> <span class="custom-checkbox-indicator"></span> <span class="custom-checkbox-text">Mening maxsus checkboxim</span> </label> -
CSS:
// Nativ inputni vizual tarzda yashirish uchun, uni ekran o'qiydiganlar uchun mavjudligini saqlab qoladigan klass. .visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; border: 0; clip: rect(0 0 0 0); } // Maxsus labelni stilizatsiya qilish. .custom-checkbox-label { display: inline-flex; align-items: center; cursor: pointer; } // Checkbox indikatorini (kvadrat) stilizatsiya qilish. .custom-checkbox-indicator { display: inline-block; width: 20px; height: 20px; border: 1px solid #ccc; margin-right: 8px; /* Matndan bo'sh joy */ border-radius: 4px; background-color: #fff; transition: all 0.2s ease-in-out; } // Belgilangan holatda indikatorni stilizatsiya qilish. .custom-checkbox-label input:checked + .custom-checkbox-indicator { background-color: #007bff; /* Tanlangan rang */ border-color: #007bff; position: relative; /* Belgini joylashtirish uchun */ } // :after pseudo-elemnti yordamida "belgi" qo'shish. .custom-checkbox-label input:checked + .custom-checkbox-indicator:after { content: ''; position: absolute; top: 3px; left: 6px; width: 4px; height: 8px; border: solid white; border-width: 0 2px 2px 0; transform: rotate(45deg); }
Ushbu yondashuv checkboxning standart xulqini (checked) ishlatishga imkon beradi, shuningdek, uning tashqi ko'rinishini to'liq stilizatsiya qilish uchun erkinlik beradi. visually-hidden yordamida yordamchi texnologiyalar uchun kirish imkoniyati saqlanadi.