తెలుగు

వినియోగదారుల ప్రాధాన్యతలకు అనుగుణంగా ఆటోమేటిక్ లైట్ & డార్క్ థీమ్‌లను రూపొందించడానికి CSS మీడియా క్వెరీలు మరియు కస్టమ్ ప్రాపర్టీల శక్తిని అన్వేషించండి. ప్రపంచ ప్రేక్షకుల కోసం యాక్సెసిబిలిటీ మరియు విజువల్ అప్పీల్‌ను పెంచండి.

CSS లైట్-డార్క్ ఫంక్షన్: గ్లోబల్ వెబ్ కోసం ఆటోమేటిక్ థీమ్ అడాప్టేషన్

నేటి ప్రపంచవ్యాప్తంగా కనెక్ట్ చేయబడిన ప్రపంచంలో, వెబ్‌సైట్‌లు విభిన్న నేపథ్యాలు మరియు ప్రాధాన్యతల నుండి వినియోగదారులకు అందుబాటులో మరియు దృశ్యపరంగా ఆకర్షణీయంగా ఉండాలి. దీన్ని సాధించడానికి అత్యంత ప్రభావవంతమైన మార్గాలలో ఒకటి ఆటోమేటిక్ థీమ్ అడాప్టేషన్, ప్రత్యేకంగా వినియోగదారు సిస్టమ్ సెట్టింగ్‌ల ఆధారంగా సర్దుబాటు చేసే లైట్ మరియు డార్క్ థీమ్‌లను అందించడం. ఈ బ్లాగ్ పోస్ట్ CSS మీడియా క్వెరీలు మరియు కస్టమ్ ప్రాపర్టీలను ఉపయోగించి ఈ కార్యాచరణను అమలు చేయడానికి మీకు మార్గనిర్దేశం చేస్తుంది, మీ అంతర్జాతీయ ప్రేక్షకుల కోసం అతుకులు లేని మరియు సౌకర్యవంతమైన బ్రౌజింగ్ అనుభవాన్ని నిర్ధారిస్తుంది.

ఆటోమేటిక్ లైట్ మరియు డార్క్ థీమ్‌లను ఎందుకు అమలు చేయాలి?

మీ వెబ్ ప్రాజెక్ట్‌లలో ఆటోమేటిక్ థీమ్ అడాప్టేషన్‌ను చేర్చడానికి అనేక బలమైన కారణాలు ఉన్నాయి:

CSSతో ఆటోమేటిక్ థీమ్ అడాప్టేషన్‌ను ఎలా అమలు చేయాలి

ఆటోమేటిక్ థీమ్ అడాప్టేషన్ యొక్క ప్రధానాంశం prefers-color-scheme మీడియా క్వెరీలో ఉంది. ఈ CSS మీడియా క్వెరీ వినియోగదారు ప్రాధాన్యత గల కలర్ స్కీమ్‌ను (లైట్ లేదా డార్క్) గుర్తించడానికి మరియు సంబంధిత స్టైల్స్‌ను వర్తింపజేయడానికి మిమ్మల్ని అనుమతిస్తుంది.

దశ 1: కస్టమ్ ప్రాపర్టీలను (CSS వేరియబుల్స్) నిర్వచించండి

మీ లైట్ మరియు డార్క్ థీమ్‌ల కోసం రంగు విలువలను నిల్వ చేయడానికి కస్టమ్ ప్రాపర్టీలను (CSS వేరియబుల్స్) నిర్వచించడం ద్వారా ప్రారంభించండి. ఇది కేవలం వేరియబుల్ విలువలను నవీకరించడం ద్వారా థీమ్‌ల మధ్య మారడాన్ని సులభం చేస్తుంది.


:root {
  --background-color: #ffffff; /* లైట్ థీమ్ బ్యాక్‌గ్రౌండ్ */
  --text-color: #000000; /* లైట్ థీమ్ టెక్స్ట్ */
  --link-color: #007bff; /* లైట్ థీమ్ లింక్ */
  --button-background-color: #f0f0f0;
  --button-text-color: #000;
}

@media (prefers-color-scheme: dark) {
  :root {
    --background-color: #121212; /* డార్క్ థీమ్ బ్యాక్‌గ్రౌండ్ */
    --text-color: #ffffff; /* డార్క్ థీమ్ టెక్స్ట్ */
    --link-color: #66b3ff; /* డార్క్ థీమ్ లింక్ */
    --button-background-color: #333;
    --button-text-color: #fff;
  }
}

ఈ ఉదాహరణలో, మేము బ్యాక్‌గ్రౌండ్ రంగు, టెక్స్ట్ రంగు, లింక్ రంగు, మరియు బటన్ రంగుల కోసం వేరియబుల్స్‌ను నిర్వచిస్తాము. :root సెలెక్టర్ ఈ వేరియబుల్స్‌ను మొత్తం డాక్యుమెంట్‌కు వర్తింపజేస్తుంది. వినియోగదారు వారి సిస్టమ్‌ను డార్క్ మోడ్‌కు సెట్ చేసినప్పుడు @media (prefers-color-scheme: dark) మీడియా క్వెరీ ఈ వేరియబుల్స్‌ను డార్క్ థీమ్ విలువలతో ఓవర్‌రైడ్ చేస్తుంది.

దశ 2: మీ స్టైల్స్‌కు కస్టమ్ ప్రాపర్టీలను వర్తింపజేయండి

తరువాత, మీ వెబ్‌సైట్ ఎలిమెంట్‌ల రూపాన్ని నియంత్రించడానికి ఈ కస్టమ్ ప్రాపర్టీలను మీ CSS స్టైల్స్‌కు వర్తింపజేయండి.


body {
  background-color: var(--background-color);
  color: var(--text-color);
  transition: background-color 0.3s, color 0.3s; /* స్మూత్ ట్రాన్సిషన్ */
}

a {
  color: var(--link-color);
}

button {
  background-color: var(--button-background-color);
  color: var(--button-text-color);
  border: none;
  padding: 10px 20px;
  cursor: pointer;
}

ఇక్కడ, మేము మా కస్టమ్ ప్రాపర్టీల విలువలను యాక్సెస్ చేయడానికి var() ఫంక్షన్‌ను ఉపయోగిస్తున్నాము. థీమ్‌ల మధ్య స్మూత్ ట్రాన్సిషన్ సృష్టించడానికి మేము body ఎలిమెంట్‌కు transition ప్రాపర్టీని కూడా జోడించాము.

దశ 3: పరీక్ష మరియు శుద్ధీకరణ

వివిధ బ్రౌజర్‌లు మరియు ఆపరేటింగ్ సిస్టమ్‌లలో మీ అమలును పూర్తిగా పరీక్షించండి. Chrome, Firefox, Safari, మరియు Edge వంటి ఆధునిక బ్రౌజర్‌లు prefers-color-scheme మీడియా క్వెరీకి పూర్తిగా మద్దతు ఇస్తాయి. మీ వెబ్‌సైట్‌లో మార్పులను చూడటానికి మీరు మీ ఆపరేటింగ్ సిస్టమ్ సెట్టింగ్‌లలో లైట్ మరియు డార్క్ మోడ్‌ల మధ్య మారవచ్చు.

అధునాతన టెక్నిక్‌లు మరియు పరిగణనలు

మాన్యువల్ థీమ్ స్విచ్‌ను అందించడం

ఆటోమేటిక్ థీమ్ అడాప్టేషన్ ఒక గొప్ప ప్రారంభ స్థానం అయినప్పటికీ, కొంతమంది వినియోగదారులు వారి సిస్టమ్ సెట్టింగ్‌లను మాన్యువల్‌గా ఓవర్‌రైడ్ చేయడానికి ఇష్టపడవచ్చు. మీరు జావాస్క్రిప్ట్ మరియు లోకల్ స్టోరేజ్ ఉపయోగించి మాన్యువల్ థీమ్ స్విచ్‌ను అందించవచ్చు.

HTML:


<button id="theme-toggle">Toggle Theme</button>

జావాస్క్రిప్ట్:


const themeToggle = document.getElementById('theme-toggle');
const body = document.body;

let currentTheme = localStorage.getItem('theme') || 'auto'; // డిఫాల్ట్‌గా ఆటో

function setTheme(theme) {
  if (theme === 'dark') {
    body.classList.add('dark-theme');
    body.classList.remove('light-theme');
  } else if (theme === 'light') {
    body.classList.add('light-theme');
    body.classList.remove('dark-theme');
  } else {
    body.classList.remove('light-theme', 'dark-theme');
  }
  localStorage.setItem('theme', theme);
  currentTheme = theme;
}

// పేజీ లోడ్‌లో ప్రారంభ థీమ్‌ను వర్తింపజేయండి
if (currentTheme === 'dark') {
  setTheme('dark');
} else if (currentTheme === 'light') {
  setTheme('light');
} else {
  //ఆటోకు సెట్ చేస్తే, prefers-color-scheme నిర్ణయించడానికి అనుమతించండి
}


themeToggle.addEventListener('click', () => {
    if (currentTheme === 'auto'){
        setTheme('light');
    } else if (currentTheme === 'light') {
        setTheme('dark');
    } else {
        setTheme('auto');
    }
});

CSS: మునుపటి CSSతో పాటు కింది CSSను జోడించండి. మాన్యువల్ ఓవర్‌రైడ్‌ను గమనించండి:


body.light-theme {
  --background-color: #ffffff; /* లైట్ థీమ్ బ్యాక్‌గ్రౌండ్ */
  --text-color: #000000; /* లైట్ థీమ్ టెక్స్ట్ */
  --link-color: #007bff; /* లైట్ థీమ్ లింక్ */
  --button-background-color: #f0f0f0;
  --button-text-color: #000;
}

body.dark-theme {
  --background-color: #121212; /* డార్క్ థీమ్ బ్యాక్‌గ్రౌండ్ */
  --text-color: #ffffff; /* డార్క్ థీమ్ టెక్స్ట్ */
  --link-color: #66b3ff; /* డార్క్ థీమ్ లింక్ */
  --button-background-color: #333;
  --button-text-color: #fff;
}

ఈ కోడ్ స్నిప్పెట్ వినియోగదారులను లైట్, డార్క్, మరియు ఆటోమేటిక్ థీమ్‌ల మధ్య టోగుల్ చేయడానికి అనుమతించే ఒక బటన్‌ను జోడిస్తుంది. ఎంచుకున్న థీమ్ లోకల్ స్టోరేజ్‌లో నిల్వ చేయబడుతుంది, తద్వారా అది పేజీ లోడ్‌ల అంతటా నిలిచి ఉంటుంది.

చిత్రాలు మరియు SVGలను నిర్వహించడం

కొన్ని చిత్రాలు మరియు SVGలు లైట్ మరియు డార్క్ థీమ్‌లు రెండింటిలోనూ బాగా కనిపించకపోవచ్చు. ఈ ఆస్తుల యొక్క విభిన్న వెర్షన్‌లను షరతులతో ప్రదర్శించడానికి మీరు CSS మీడియా క్వెరీలను ఉపయోగించవచ్చు.


img.light-mode {
  display: block;
}

img.dark-mode {
  display: none;
}

@media (prefers-color-scheme: dark) {
  img.light-mode {
    display: none;
  }

  img.dark-mode {
    display: block;
  }
}

ఈ కోడ్ స్నిప్పెట్ లైట్ మోడ్‌లో ఒక చిత్రాన్ని (light-mode క్లాస్‌తో) మరియు డార్క్ మోడ్‌లో వేరే చిత్రాన్ని (dark-mode క్లాస్‌తో) చూపుతుంది.

అంతర్జాతీయ ప్రేక్షకుల కోసం రంగుల పాలెట్ పరిగణనలు

మీ లైట్ మరియు డార్క్ థీమ్‌ల కోసం రంగుల పాలెట్‌లను ఎంచుకునేటప్పుడు, సాంస్కృతిక అనుబంధాలు మరియు యాక్సెసిబిలిటీ పరిగణనలను గుర్తుంచుకోండి. ఇక్కడ కొన్ని సాధారణ మార్గదర్శకాలు ఉన్నాయి:

పనితీరు పరిగణనలు

ఆటోమేటిక్ థీమ్ అడాప్టేషన్‌ను అమలు చేయడం చాలా సరళంగా ఉన్నప్పటికీ, పనితీరుపై సంభావ్య ప్రభావాన్ని పరిగణించడం ముఖ్యం. రెండరింగ్‌ను నెమ్మదింపజేయగల అత్యంత సంక్లిష్టమైన CSS సెలెక్టర్‌లు లేదా యానిమేషన్‌లను ఉపయోగించడం మానుకోండి. అలాగే, వేరియబుల్ లుకప్‌ల ఓవర్‌హెడ్‌ను తగ్గించడానికి మీ కస్టమ్ ప్రాపర్టీలు సమర్థవంతంగా నిర్వచించబడ్డాయని నిర్ధారించుకోండి.

పనితీరును ఆప్టిమైజ్ చేయడానికి ఇక్కడ కొన్ని ఉత్తమ పద్ధతులు ఉన్నాయి:

యాక్సెసిబిలిటీ ఉత్తమ పద్ధతులు

మీ లైట్ మరియు డార్క్ థీమ్‌లు WCAG (వెబ్ కంటెంట్ యాక్సెసిబిలిటీ గైడ్‌లైన్స్) వంటి యాక్సెసిబిలిటీ మార్గదర్శకాలకు అనుగుణంగా ఉన్నాయని నిర్ధారించుకోండి. ఇందులో తగినంత రంగు కాంట్రాస్ట్ అందించడం, సెమాంటిక్ HTML ఉపయోగించడం, మరియు అన్ని ఇంటరాక్టివ్ ఎలిమెంట్‌లు కీబోర్డ్ యాక్సెస్ చేయగలవని నిర్ధారించుకోవడం వంటివి ఉంటాయి.

అనుసరించాల్సిన కొన్ని నిర్దిష్ట యాక్సెసిబిలిటీ ఉత్తమ పద్ధతులు ఇక్కడ ఉన్నాయి:

వివిధ ప్రాంతాలలో ఉదాహరణలు

విభిన్న ప్రపంచ ప్రేక్షకుల కోసం లైట్ మరియు డార్క్ థీమ్‌లను ఎలా రూపొందించవచ్చో ఈ ఉదాహరణలను పరిగణించండి:

ముగింపు

ఆటోమేటిక్ లైట్ మరియు డార్క్ థీమ్‌లను అమలు చేయడం అనేది ప్రపంచ ప్రేక్షకుల కోసం మరింత యాక్సెస్ చేయగల మరియు వినియోగదారు-స్నేహపూర్వక వెబ్ అనుభవాన్ని సృష్టించే దిశగా ఒక కీలకమైన అడుగు. CSS మీడియా క్వెరీలు మరియు కస్టమ్ ప్రాపర్టీలను ఉపయోగించడం ద్వారా, మీరు మీ వెబ్‌సైట్ రూపాన్ని వినియోగదారు ప్రాధాన్యతలకు సరిపోయేలా సులభంగా స్వీకరించవచ్చు, కంటి ఒత్తిడిని తగ్గించవచ్చు, మరియు దృష్టి లోపాలు ఉన్న వినియోగదారుల కోసం యాక్సెసిబిలిటీని మెరుగుపరచవచ్చు. ప్రతిఒక్కరికీ అతుకులు లేని మరియు కలుపుకొనిపోయే బ్రౌజింగ్ అనుభవాన్ని నిర్ధారించడానికి సాంస్కృతిక అనుబంధాలు, యాక్సెసిబిలిటీ మార్గదర్శకాలు, మరియు పనితీరు పరిగణనలను గుర్తుంచుకోండి.

ఈ టెక్నిక్‌లను అనుసరించడం ద్వారా, మీరు ఆధునిక వెబ్ డిజైన్ సూత్రాలకు నిబద్ధతను ప్రదర్శిస్తారు మరియు మీ అంతర్జాతీయ ప్రేక్షకుల విభిన్న అవసరాలను తీరుస్తారు, మీ వెబ్‌సైట్‌ను అందరికీ స్వాగతించే మరియు సౌకర్యవంతమైన ప్రదేశంగా మారుస్తారు.

CSS లైట్-డార్క్ ఫంక్షన్: గ్లోబల్ వెబ్ కోసం ఆటోమేటిక్ థీమ్ అడాప్టేషన్ | MLOG