Qorong'i rejimni veb-saytingizda joriy qiling. CSS media so'rovlari, JavaScript tugmalari, yordamchi texnologiyalar va eng yaxshi amaliyotlarni o'rganing.
Qorong'i Rejimni Joriylash: CSS va JavaScript Yordamida Har Tarafli Qo'llanma
Qorong'i rejim tobora ommalashib bormoqda, ayniqsa kam yorug'lik sharoitida qulayroq tomosha qilish tajribasini taqdim etadi. Ushbu qo'llanma sizning veb-saytingizda CSS va JavaScript yordamida qorong'i rejimni joriy qilish bo'yicha har tomonlama umumiy ko'rinishni taqdim etadi, bu global auditoriya uchun uzluksiz va yordamchi foydalanuvchi tajribasini ta'minlaydi.
Nima uchun Qorong'i Rejimni Joriylash Kerak?
Qorong'i rejimni joriylashni ko'rib chiqishning bir nechta muhim sabablari mavjud:
- Yaxshilangan Foydalanuvchi Tajribasi: Ko'pgina foydalanuvchilar qorong'i rejimni ko'zlari uchun qulayroq deb bilishadi, ko'z zo'riqishini kamaytiradi, ayniqsa kechasi yoki xira yoritilgan joylarda. Bu ekrandan foydalanish odatlari va yoritish sharoitlari turlicha bo'lgan global auditoriyaga mo'ljallangan.
- Yordamchi Texnologiyalar: Qorong'i rejim ko'rish qobiliyati zaif yoki yorug'likka sezgir bo'lgan foydalanuvchilar uchun yordamchi texnologiyalarni yaxshilaydi. Yuqori kontrastli opsiyani taqdim etish orqali siz veb-saytingizni yanada inklyuziv qilasiz.
- Batareya Hayoti: OLED yoki AMOLED ekranli qurilmalarda qorong'i rejim quvvat sarfini kamaytirishi, batareya muddatini uzaytirishi mumkin. Bu, ayniqsa, zaryadlash infratuzilmasiga cheklangan kirish imkoniyati bo'lgan hududlardagi mobil foydalanuvchilar uchun muhimdir.
- Zamonaviy Dizayn Trendi: Qorong'i rejim mashhur dizayn tendentsiyasidir va uni joriy qilish veb-saytingizni yanada zamonaviy va jozibali ko'rsatishi mumkin. Bu brendni qabul qilishni va foydalanuvchi jalb etilishini oshiradi.
Qorong'i Rejimni Joriylash Usullari
Qorong'i rejimni joriylashning bir nechta usullari mavjud, har biri o'zining afzalliklari va kamchiliklariga ega. Biz eng keng tarqalgan usullarni ko'rib chiqamiz:
- CSS Media So'rovlari (
prefers-color-scheme
): Ushbu usul foydalanuvchining operatsion tizim sozlamalari asosida ularning afzal ko'rgan rang sxemasini avtomatik aniqlaydi. - JavaScript Tugmasi: Ushbu usul foydalanuvchilarga yorug' va qorong'i rejim o'rtasida o'tish imkonini beruvchi qo'lda tugmani (masalan, kalit yoki tugma) taqdim etadi.
- Media So'rovlar va JavaScriptni Biriktirish: Ushbu yondashuv ikkala usulning afzalliklarini birlashtiradi, avtomatik aniqlashni ta'minlaydi, shu bilan birga foydalanuvchilarga tizim afzalliklarini bekor qilish imkonini beradi.
1. CSS Media So'rovlari Yordamida Qorong'i Rejimni Joriylash
prefers-color-scheme
CSS media so'rovi sizning afzal ko'rgan rang sxemasini aniqlash va mos ravishda turli uslublarni qo'llash imkonini beradi. Bu tizim sozlamalarini allaqachon o'rnatgan foydalanuvchilar uchun qorong'i rejimni joriy qilishning eng sodda va samarali usuli hisoblanadi.
Kod Misoli
Quyidagi CSS kodini uslublar jadvallingizga qo'shing:
/* Varsayılan (Açık) Tema */
body {
background-color: #fff;
color: #000;
}
/* Koyu Tema */
@media (prefers-color-scheme: dark) {
body {
background-color: #222;
color: #fff;
}
/* Boshqa elementlarni kerak bo'lganda sozlang */
h1, h2, h3 {
color: #ddd;
}
a {
color: #8ab4f8;
}
}
Tushuntirish:
- Birinchi CSS bloki varsayılan (yorug') tema uslublarini belgilaydi.
@media (prefers-color-scheme: dark)
bloki faqat foydalanuvchi tizimi qorong'i rejimga o'rnatilganda uslublarni qo'llaydi.@media
bloki ichida siz tananing fon rangi va matn rangi, sarlavhalar va havolalar kabi turli elementlar uchun qorong'i rejim uslublarini belgilashingiz mumkin.
Afzalliklari
- Avtomatik Aniqlash: Brauzer foydalanuvchi afzalligini avtomatik aniqlaydi, bu esa uzluksiz tajribani ta'minlaydi.
- Oddiy Joriylash: Ushbu usul minimal kodni talab qiladi va joriylash oson.
- Ishlash: CSS media so'rovlari brauzer tomonidan samarali boshqariladi.
Kamchiliklari
- Cheklangan Nazorat: Foydalanuvchilar veb-saytingiz ichida yorug' va qorong'i rejim o'rtasida qo'lda o'tishni amalga oshira olmaydilar.
- Tizim Sozlamalariga Bog'liqlik: Tashqi ko'rinishi butunlay foydalanuvchi tizim sozlamalariga bog'liq bo'lib, ular bunga xabar bermasliklari yoki o'zgartira olmasliklari mumkin.
2. JavaScript Tugmasi Yordamida Qorong'i Rejimni Joriylash
JavaScript tugmasidan foydalanish foydalanuvchilarga veb-sayt temasini boshqarish uchun qo'lda tugmani beradi. Bu foydalanuvchilarga ko'proq nazoratni beradi va ularga tizim afzalliklarini bekor qilish imkonini beradi. Ushbu yondashuv tizim-miqyosida qorong'i rejim sozlamalarini doimiy ravishda qo'llab-quvvatlamaydigan yoki ko'rsatmaydigan turli qurilmalar va platformalardagi foydalanuvchilarga xizmat ko'rsatish uchun juda muhimdir.
HTML Tuzilishi
Birinchidan, HTML-ga tugma elementini qo'shing:
<label class="switch">
<input type="checkbox" id="darkModeToggle">
<span class="slider round"></span>
</label>
Bu katakcha va ba'zi maxsus CSS uslublaridan foydalangan holda sodda tugma kalitini yaratadi.
CSS Uslublari (Majburiy emas)
Tugma kalitini CSS yordamida uslublashingiz mumkin. Mana bir misol:
.switch {
position: relative;
display: inline-block;
width: 60px;
height: 34px;
}
.switch input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
-webkit-transition: .4s;
transition: .4s;
}
.slider:before {
position: absolute;
content: "";
height: 26px;
width: 26px;
left: 4px;
bottom: 4px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}
input:checked + .slider {
background-color: #2196F3;
}
input:focus + .slider {
box-shadow: 0 0 1px #2196F3;
}
input:checked + .slider:before {
-webkit-transform: translateX(26px);
-ms-transform: translateX(26px);
transform: translateX(26px);
}
/* Dumaloq slaydlar */
.slider.round {
border-radius: 34px;
}
.slider.round:before {
border-radius: 50%;
}
JavaScript Kodi
Endi, tugma funksiyasini boshqarish uchun quyidagi JavaScript kodini qo'shing:
const darkModeToggle = document.getElementById('darkModeToggle');
const body = document.body;
// Qorong'i rejimni o'zgartirish funksiyasi
function toggleDarkMode() {
body.classList.toggle('dark-mode');
// Foydalanuvchi afzalligini localStorage-ga saqlash
if (body.classList.contains('dark-mode')) {
localStorage.setItem('darkMode', 'enabled');
} else {
localStorage.setItem('darkMode', 'disabled');
}
}
// Saqlangan afzallikni localStorage-dan tekshirish
if (localStorage.getItem('darkMode') === 'enabled') {
body.classList.add('dark-mode');
darkModeToggle.checked = true;
}
// Tugma uchun hodisa tinglovchisini qo'shish
darkModeToggle.addEventListener('change', toggleDarkMode);
Tushuntirish:
- Kod tugma elementini va tanani oladi.
toggleDarkMode
funksiyasi tanadagidark-mode
klassini o'zgartiradi.- Kod foydalanuvchi afzalligini saqlash uchun
localStorage
dan foydalanadi, shuning uchun u sessiyalar bo'ylab saqlanadi. - Kod saqlangan afzallikni qo'llash uchun sahifa yuklanganida
localStorage
ni tekshiradi. - Tugma bosilganda
toggleDarkMode
funksiyasining chaqirilishini ta'minlash uchun tugma uchun hodisa tinglovchisi qo'shiladi.
Qorong'i Rejim Uchun CSS Uslublari (klassdan foydalangan holda)
Qorong'i tema uslublarini qo'llash uchun dark-mode
klassidan foydalanish uchun CSS-ni yangilang:
/* Varsayılan (Açık) Tema */
body {
background-color: #fff;
color: #000;
}
/* Koyu Tema */
body.dark-mode {
background-color: #222;
color: #fff;
}
body.dark-mode h1, body.dark-mode h2, body.dark-mode h3 {
color: #ddd;
}
body.dark-mode a {
color: #8ab4f8;
}
Afzalliklari
- Foydalanuvchi Nazorati: Foydalanuvchilar veb-saytingiz ichida yorug' va qorong'i rejim o'rtasida qo'lda o'tishni amalga oshirishlari mumkin.
- Saqlash: Foydalanuvchi afzalligi
localStorage
yordamida saqlanadi, shuning uchun u sessiyalar bo'ylab saqlanadi.
Kamchiliklari
- Murakkabroq Joriylash: Ushbu usul faqat CSS media so'rovlaridan foydalanishdan ko'ra ko'proq kodni talab qiladi.
- JavaScriptga Bog'liqlik: Tugma funksiyasi foydalanuvchi brauzerida JavaScriptning yoqilganligiga bog'liq.
3. Media So'rovlar va JavaScriptni Biriktirish
Eng yaxshi yondashuv ko'pincha CSS media so'rovlari va JavaScript tugmasini birlashtirishdir. Bu ikkala dunyoning eng yaxshisini taqdim etadi: foydalanuvchining afzal ko'rgan rang sxemasini avtomatik aniqlash, shu bilan birga foydalanuvchilarga tizim afzalligini qo'lda bekor qilish imkonini beradi. Bu tizim-miqyosida tema sozlamalarini bilmaydigan yoki o'zgartira olmaydiganlar, shu jumladan foydalanuvchilarga xizmat ko'rsatadi.
Kod Misoli
JavaScript Tugmasi misolidan olingan xuddi shu HTML va CSS-ni ishlating. JavaScript-ni tizim afzalligini tekshirish uchun o'zgartiring:
const darkModeToggle = document.getElementById('darkModeToggle');
const body = document.body;
// Qorong'i rejimni o'zgartirish funksiyasi
function toggleDarkMode() {
body.classList.toggle('dark-mode');
// Foydalanuvchi afzalligini localStorage-ga saqlash
if (body.classList.contains('dark-mode')) {
localStorage.setItem('darkMode', 'enabled');
} else {
localStorage.setItem('darkMode', 'disabled');
}
}
// Saqlangan afzallikni, keyin tizim afzalligini localStorage-dan tekshirish
if (localStorage.getItem('darkMode') === 'enabled') {
body.classList.add('dark-mode');
darkModeToggle.checked = true;
} else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
body.classList.add('dark-mode');
darkModeToggle.checked = true;
}
// Tugma uchun hodisa tinglovchisini qo'shish
darkModeToggle.addEventListener('change', toggleDarkMode);
Tushuntirish:
- Kod birinchi navbatda saqlangan afzallik uchun
localStorage
ni tekshiradi. - Agar
localStorage
da afzallik topilmasa, uwindow.matchMedia
dan foydalanib, foydalanuvchi tizimi qorong'i rejimni afzal ko'rishini tekshiradi. - Agar tizim qorong'i rejimni afzal ko'rsa, tanaga
dark-mode
klassi qo'shiladi va tugma tekshiriladi.
Afzalliklari
- Avtomatik Aniqlash va Foydalanuvchi Nazorati: Avtomatik aniqlash va qo'lda nazoratni ta'minlaydi.
- Saqlash: Foydalanuvchi afzalligi
localStorage
yordamida saqlanadi.
Kamchiliklari
- Bir Oz Murakkabroq: Ushbu usul har bir usulni alohida ishlatishdan ko'ra bir oz murakkabroq.
- JavaScriptga Bog'liqlik: JavaScriptning yoqilganligiga bog'liq.
Yordamchi Texnologiyalar Ko'rib Chiqishlari
Qorong'i rejimni joriylashda, veb-saytingiz barcha foydalanuvchilar uchun ishlatilayotganligini ta'minlash uchun yordamchi texnologiyalarni ko'rib chiqish juda muhimdir. Shuni yodda tutingki, ranglarni oddiygina teskari qilish avtomatik ravishda yordamchi texnologiyalarni kafolatlamaydi. Mana ba'zi muhim ko'rib chiqishlar:
- Rang Kontrasti: Yorug' va qorong'i rejimda matn va fon o'rtasida etarli rang kontrastini ta'minlang. Rang kombinatsiyalaringiz yordamchi texnologiyalar standartlariga javob berishini tasdiqlash uchun WebAIM Contrast Checker (webaim.org/resources/contrastchecker/) kabi vositalardan foydalaning. Bu, ayniqsa, kam ko'rish qobiliyatiga ega foydalanuvchilar uchun muhimdir.
- Diqqat Ko'rsatkichlari: Klaviatura bilan navigatsiya qiluvchi foydalanuvchilar qaysi element hozirda diqqat markazida ekanligini osongina ko'rishlari uchun diqqat ko'rsatkichlari yorug' va qorong'i rejimda aniq ko'rinishini ta'minlang.
- Rasmlar va Ikonkalar: Rasmlar va ikonkalarning qorong'i rejimda qanday ko'rinishini ko'rib chiqing. Optimal ko'rinish uchun ularning ranglarini sozlash uchun muqobil versiyalarni taqdim etishingiz yoki CSS filtrlardan foydalanishingiz kerak bo'lishi mumkin.
- Foydalanuvchi Testlash: Har qanday yordamchi texnologiyalar muammolarini aniqlash va hal qilish uchun turli ko'rish qobiliyati zaif bo'lgan foydalanuvchilar bilan qorong'i rejimni joriylashni testdan o'tkazing.
Qorong'i Rejimni Joriylash Uchun Eng Yaxshi Amaliyotlar
Veb-saytingizda qorong'i rejimni joriylashda quyidagi eng yaxshi amaliyotlarga rioya qiling:
- CSS O'zgaruvchilardan (Maxsus Xossalardan) Foydalaning: CSS o'zgaruvchilari ranglar va boshqa uslublarni markaziy joyda belgilash imkonini beradi, bu esa tematani boshqarish va yangilashni osonlashtiradi.
- Har Taraflama Tekshiring: Konsistentlikni ta'minlash uchun turli qurilmalar va brauzerlarda qorong'i rejimni joriylashni tekshiring.
- Aniq Tugmani Ta'minlang: Tugma kalitini topish va ishlatishni osonlashtiring. Uning funksiyasini ko'rsatish uchun aniq va intuitiv ikonlardan foydalaning.
- Foydalanuvchi Afzalliklarini Ko'rib Chiqing: Foydalanuvchi afzalliklarini hurmat qiling va ularni
localStorage
yoki kukilardan foydalanib saqlang. - Konsistentlikni Saqlang: Qorong'i rejimni joriylashingiz veb-saytingiz bo'ylab konsistentligini ta'minlang.
Misol: Temalar Uchun CSS O'zgaruvchilari
CSS o'zgaruvchilari yorug' va qorong'i rejim temalari o'rtasida o'tishni osonlashtiradi. O'zgaruvchilarni :root
pseudo-klassida belgilang:
:root {
--bg-color: #fff;
--text-color: #000;
--link-color: #007bff;
}
body {
background-color: var(--bg-color);
color: var(--text-color);
}
a {
color: var(--link-color);
}
body.dark-mode {
--bg-color: #222;
--text-color: #fff;
--link-color: #8ab4f8;
}
Endi, dark-mode
klassi tanaga qo'shilganda, CSS o'zgaruvchilari yangilanadi va uslublar avtomatik ravishda qo'llaniladi.
Xulosa
Qorong'i rejimni joriylash veb-saytingizning foydalanuvchi tajribasini sezilarli darajada yaxshilashi, yordamchi texnologiyalarni yaxshilashi va hatto batareya hayotini tejashi mumkin. Ushbu qo'llanmada keltirilgan usullar va eng yaxshi amaliyotlarga amal qilish orqali siz dunyodagi foydalanuvchilar uchun uzluksiz va yoqimli qorong'i rejim tajribasini yaratishingiz mumkin.
Foydalanuvchi afzalliklari yoki ko'rish qobiliyatidan qat'i nazar, veb-saytingiz foydaliligini ta'minlash uchun yordamchi texnologiyalarga ustunlik bering va joriylashni har taraflama tekshiring.
Qorong'i rejimni puxtalik bilan joriylash orqali siz nafaqat trendga ergashasiz, balki global auditoriya uchun yanada inklyuziv va foydalanuvchiga qulay veb-tajribani yaratasiz. Foydalanuvchi tajribasiga bag'ishlangan ushbu sodiqlik veb-saytingizning umumiy ishlashi va jozibasiga katta foyda keltirishi mumkin.