찾다
웹 프론트엔드CSS 튜토리얼다크 모드 페이지를 다시 로드할 때 흰색 깜박임을 방지하는 방법은 무엇입니까?

How to Prevent White Flickering When Reloading a Dark Mode Page?

다크 모드 다시 로드 시 흰색 깜박임 문제

지속성을 위해 로컬 저장소를 활용하는 다크 모드 기능을 구현할 때 직면하는 일반적인 문제는 페이지를 다시 로드할 때 흰색 배경이 깜박입니다. 이는 일반적으로 DOM 파서가 다크 모드 스타일이 적용되기 전에 페이지를 렌더링하기 때문에 발생합니다.

해결책: 페이지 렌더링 차단

이 문제를 해결하려면 페이지를 차단할 수 있습니다.

내에 배치된 작은 스크립트를 사용하여 렌더링합니다. 귀하의 문서. 이 스크립트는 요소를 클릭한 다음 페이지 렌더링을 계속합니다.

다음 스크립트를

다른 태그 앞에:
<code class="html"><script>
  // IMPORTANT: set this in <HEAD> top before any other tag.
  const setTheme = (theme) => {
    theme ??= localStorage.theme || "light";
    document.documentElement.dataset.theme = theme;
    localStorage.theme = theme;
  };
  setTheme();
</script></code>

다음으로 닫는 태그 바로 앞에 다른 모든 스크립트를 렌더링을 차단하지 않는 방식으로 옮깁니다. 태그:

<code class="html"><script src="js/index.js"></script>
<!-- other <script> tags here -->
<!-- Closing </body> </html> goes here --></code>

마지막으로 js/index.js 파일에서 다음 코드를 사용합니다.

<code class="js">const elToggleTheme = document.querySelector('#dark-mode-button input[type="checkbox"]');

elToggleTheme.checked = localStorage.theme === "dark";

elToggleTheme.addEventListener("change", () => {
  const theme = elToggleTheme.checked ? "dark" : "light";
  setTheme(theme);
});</code>

이 솔루션을 구현하면 흰색 깜박임을 방지하고 페이지를 다시 로드할 때 밝은 모드와 어두운 모드 사이를 원활하게 전환합니다.

위 내용은 다크 모드 페이지를 다시 로드할 때 흰색 깜박임을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
구성 요소 수준 CMS구성 요소 수준 CMSApr 12, 2025 am 11:09 AM

구성 요소가 데이터를 쿼리하는 환경에 거주하면 근처에 사는 경우 시각적 구성 요소와

오프셋 경로로 원에 유형을 설정하십시오오프셋 경로로 원에 유형을 설정하십시오Apr 12, 2025 am 11:00 AM

여기 Yuanchuan의 합법적 인 CSS 속임수입니다. 이 CSS 속성 오프셋 경로가 있습니다. 옛날 옛적에, 그것은 모션 경로라고 불렸다가 이름이 바뀌 었습니다. 나

CSS에서 '리버 트'는 무엇을합니까?CSS에서 '리버 트'는 무엇을합니까?Apr 12, 2025 am 10:59 AM

Miriam Suzanne 은이 주제에 대한 Mozilla 개발자 비디오에서 설명합니다.

현대 애호가현대 애호가Apr 12, 2025 am 10:58 AM

나는 이런 것들을 좋아한다.

멀티 룸 슬라이더 : 일반적인 경우멀티 룸 슬라이더 : 일반적인 경우Apr 12, 2025 am 10:52 AM

이 두 부분으로 구성된 시리즈의 첫 번째 부분은 우리가 2 턴 슬라이더를 얻는 방법을 자세히 설명했습니다. 이제 우리는 일반적인 멀티 덤프 케이스를 살펴 보지만 다른 것과

CSS 전용 회전 목마CSS 전용 회전 목마Apr 12, 2025 am 10:48 AM

회전 목마/슬라이드 쇼를 구축 할 때 HTML과 CSS가 얼마나 멀리 데려 갈지 놀랍습니다.

2020 년 웹 : 확장 성 및 상호 운용성2020 년 웹 : 확장 성 및 상호 운용성Apr 12, 2025 am 10:46 AM

지난 몇 년 동안 우리는 웹 기술과 관련하여 많은 변화와 전환을 보았습니다. 2020 년에 나는 우리를 웹 커뮤니티로 향하는 것을 예견합니다.

데스크탑 및 모바일 용 HTML이 다른 웹 구성 요소데스크탑 및 모바일 용 HTML이 다른 웹 구성 요소Apr 12, 2025 am 10:43 AM

Christian Schaefer는 웹 광고를 다루는 것에 대해 큰 글을 쓰고 있습니다. 모든 것은 흥미 롭습니다. 먼저 모든 과제를 문서화합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음