O'zbek

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:

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:

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:

Afzalliklari

Kamchiliklari

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:

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

Kamchiliklari

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:

Afzalliklari

Kamchiliklari

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:

Qorong'i Rejimni Joriylash Uchun Eng Yaxshi Amaliyotlar

Veb-saytingizda qorong'i rejimni joriylashda quyidagi eng yaxshi amaliyotlarga rioya qiling:

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.