기본적으로 Javascript를 허용하지 않는 직장 Sharepoint 환경에서 .html 문서를 작성해야 한다는 관점에서 저는 "아, 그리고 다크 모드를 전환하는 버튼을 추가하세요. 감사합니다!"
이것은 상사가 "단 하나의 DIV라도 게으름이다"와 동일시하는 우리 정책 문서의 "유효하고 접근 가능한 의미 HTML" 문구에 더해 상황을 아무리 말해도 조금 까다롭게 만들었습니다.
@media(선호하는 색상 구성: 어두운)
반대 방법으로 토글 대신 미디어 쿼리를 사용하여 각 사용자의 밝은/어두운 시스템 선호도에 맞게 페이지 스타일을 지정하는 것이 좋습니다. 응답은 "좋아요. 그래도 토글을 켜두세요."였습니다. 좋습니다. 덜 만들려고 노력하여 더 많은 작품을 만들었습니다.
Light/Dark 모드를 제어하려면 CSS 변수와 체크박스 입력/레이블 방법이 필요하다는 점을 이미 언급했지만 :checked ~ *는 여전히 입력 뒤에 오는 요소에만 영향을 미치므로 배경 스타일을 전환하기 어렵습니다.
첫 번째 해결책은 모든 것 바로 아래에 위치한 일반 DIV를 사용하는 것이었습니다. 상사가 이를 발견하고 제거하라고 할 때까지 작동했습니다. 한 가지 다행스러운 점은 호환성 지원 범위가 브라우저의 90% 이상인 한 최신 HTML/CSS를 사용해도 괜찮다는 것입니다.
:has()를 사용하면 도움이 됩니다!
구현되기 전에 상위 요소를 다시 타겟팅하기 위해 제안된 이 CSS 구문을 처음 봤을 때 어떤 용도로 유용할지 확신할 수 없었습니다. 이제 솔루션을 찾다가 다시 한 번 접하게 되었는데, 'BODY에 한번 해보면 어떨까?'라는 생각이 들었습니다.
즉시 효과가 있었고 더 빨리 시도하지 않은 것에 대해 자책했습니다! 제가 최종 결정한 관련 CSS는 다음과 같습니다.
* { /* LIGHT mode */ --tcolor: #000; --bgcolor: #FFF; --lcontent: "DARK"; --bgimage: linear-gradient(rgba(255,255,255,0.5),rgba(255,255,255,0.5)), url(INSERT_SEASONAL_BACKGROUND); --sbgcolor: rgba(255,255,255,0.75); --alink:blue; --avisited:purple; } body:has(#d:checked), body:has(#d:checked) * { /* DARK mode */ --tcolor: #FFF; --bgcolor: #000; --lcontent: "LIGHT"; --bgimage: linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)), url(INSERT_SEASONAL_BACKGROUND); --sbgcolor: rgba(0,0,0,0.75); --alink:lightblue; --avisited:#8467D7; } @media (prefers-color-scheme: dark) { * { /* DARK mode */ --tcolor: #FFF; --bgcolor: #000; --lcontent: "LIGHT"; --bgimage: linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)), url(INSERT_SEASONAL_BACKGROUND); --sbgcolor: rgba(0,0,0,0.75); --alink:lightblue; --avisited:#8467D7; } body:has(#d:checked), body:has(#d:checked) * { /* LIGHT mode */ --tcolor: #000; --bgcolor: #FFF; --lcontent: "DARK"; --bgimage: linear-gradient(rgba(255,255,255,0.5),rgba(255,255,255,0.5)), url(INSERT_SEASONAL_BACKGROUND); --sbgcolor: rgba(255,255,255,0.75); --alink:blue; --avisited:purple; } } body { /* base element under control of mode */ color:var(--tcolor); /* match text color to mode */ background-image:var(--bgimage); /* match opacity overlay to mode */ background-repeat: no-repeat no-repeat, space no-repeat; background-size:auto 100vh; margin:-1ex; } label[for="d"]::after {content: var(--lcontent);} /* DARK or LIGHT text */ section{ /* main interaction area */ margin:0 auto; background-color:var(--sbgcolor); padding:1ex; padding-top:0; height:fit-content; max-height:96.2vh; overflow-y:scroll; scrollbar-color:rgba(128,128,128,0.5) var(--sbgcolor); } li:nth-of-type(even){ /* subtle horizontal lines */ background-color:rgba(128,128,128,0.1); } summary:hover,summary:focus-visible,a:hover,a:focus-visible { /* match mouseover or */ background-color:var(--bgcolor); /* keyboard focus to mode */ } a:link {color: var(--alink)} /* match link */ a:visited {color: var(--avisited)} /* colors to mode */
섹션 스크롤 막대 색상을 중립으로 유지하기 위해 rgba(128,128,128,0.5)를 사용하여 치트를 한 번 수행했습니다.
최종 결과(Sharepoint에 의해 제한되지 않음)는 다음과 같습니다.
여기 보너스로 속성을 사용하여 수동으로 추가한 해당 페이지의 스키마 데이터 구조가 있습니다. 또 다른 작업에는 sans-javascript가 주어졌습니다.
이제 자바스크립트 없이 오디오 사운드를 트리거하는 방법을 알아내면 됩니다!
제한된 환경에서 일한 경험과 효과가 있었던 점과 그렇지 않았던 점을 자유롭게 댓글로 남겨주세요!
위 내용은 DIVLESS Pure CSS를 사용하여 다크 모드 전환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

앵커 포지셔닝이 HTML 소스 순서를 철회한다는 사실은 컨텐츠와 프리젠 테이션 사이의 또 다른 문제가있는 또 다른 분리 때문에 CSS-Y이기 때문입니다.

기사는 CSS 마진 속성, 특히 "마진 : 40px 100px 120px 80px", 응용 프로그램 및 웹 페이지 레이아웃에 미치는 영향에 대해 설명합니다.

이 기사에서는 CSS 국경 속성에 대해 설명하고 사용자 정의, 모범 사례 및 응답성에 중점을 둡니다. 주요 인수 : Border-Radius는 반응 형 디자인에 가장 효과적입니다.

이 기사에서는 CSS 배경 속성, 웹 사이트 디자인 향상에 대한 사용 및 피하는 일반적인 실수에 대해 설명합니다. 주요 초점은 배경 크기를 사용한 반응 형 디자인에 중점을 둡니다.

기사는 CSS HSL 색상, 웹 디자인에서의 사용 및 RGB의 장점에 대해 설명합니다. 주요 초점은 직관적 인 색상 조작을 통해 설계 및 접근성을 향상시키는 데 있습니다.

이 기사는 CSS의 주석 사용에 대해 논의하고 단일 라인 및 멀티 라인 주석 구문을 자세히 설명합니다. 의견은 코드 가독성, 유지 관리 및 협업을 향상 시키지만 제대로 관리하지 않으면 웹 사이트 성능에 영향을 줄 수 있다고 주장합니다.

이 기사는 CSS 선택기, 유형 및 HTML 요소 스타일링을위한 사용법에 대해 설명합니다. ID와 클래스 선택기를 비교하고 복잡한 선택기의 성능 문제를 해결합니다.

이 기사는 CSS 우선 순위에 대해 논의하며, 가장 높은 특이성을 가진 인라인 스타일에 중점을 둡니다. CSS 충돌 관리를위한 특이성 수준, 재정의 방법 및 디버깅 도구를 설명합니다.


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!
