최종 사용자가 개인의 취향과 기능적 요구 사항에 따라 밝고 어두운 구성표 사이를 원활하게 전환할 수 있는 기능을 통해 시각적 경험의 유연성을 점점 더 많이 추구함에 따라 최신 웹 애플리케이션에서 어두운 테마의 채택은 선택적 기능에서 중요한 요소로 발전했습니다.
어두운 테마는 사용자 인터페이스에 보다 차분한 색 구성표를 제공하며, 조명이 어두운 환경에서 사용할 때 눈에 부담을 주지 않아 특히 유용할 수 있습니다. 또한 이러한 테마는 특히 OLED 또는 AMOLED 디스플레이 기술이 탑재된 전자 기기에 사용할 경우 기기 배터리 수명에도 긍정적인 영향을 미치는 것으로 알려져 있습니다.
사용자가 어두운 테마를 선택할 수 있는 근거는 저조도 환경에서의 가독성 향상, 대비 증가로 인한 눈의 피로 감소, 전력 소모가 적은 디스플레이 백라이트 사용으로 인한 잠재적인 에너지 절약 등 몇 가지 매력적인 이점을 통해 더욱 강화됩니다. 이러한 요소를 고려할 때 사용자가 선호하는 인터페이스 모양을 선택할 수 있는 유연성을 제공하는 것이 점점 더 합리적이 되고 있습니다.
테스트 애플리케이션 설정
Vue에 어두운 테마를 통합하는 방법을 보다 심도 있게 이해하려면 구현 프로세스를 테스트하고 개선하기 위한 기본 Vue 애플리케이션을 설정해야 합니다.
새로 설정한 Vue 애플리케이션의 작동을 시작하려면 워크스테이션에 있는 터미널 인터페이스를 통해 후속 명령을 실행합니다:
npm init vue@latest
현재 명령은 새로운 Vue 애플리케이션의 이니시에이터 역할을 하는 create-vue 번들의 가장 최근 반복을 배포합니다. 또한 이 튜토리얼의 제한된 범위에 비추어 볼 때 이러한 선택은 불필요하지만 미리 결정된 속성 선택에서 선호도를 요청할 것입니다.
애플리케이션의 `src` 디렉터리에 있는 `App.vue` 파일에 다음 코드 스니펫을 추가하십시오: “`html ‘shared/getters’에서 { mapGetters } 가져오기 export default { // 다른 요소와 메서드… mounted() { const totalScore = this.$store.getters.totalScore console.log(totalScore) }, }
<!-- App.vue -->
<template>
<div>
<h1 class="header">Welcome to My Vue App</h1>
<p>This is a simple Vue app with some text and styles.</p>
<div class="styled-box">
<p class="styled-text">Styled Text</p>
</div>
<button class="toggle-button">Toggle Dark Mode</button>
</div>
</template>
앞서 언급한 코드 조각은 스크립팅이나 스타일 요소 없이 표준 HTML 구문을 사용하여 전체 애플리케이션을 포괄합니다. 제공된 클래스 사양은 스타일 향상을 위해 활용하기 위한 것입니다. 다크 테마를 개발하고 구현하는 동안 애플리케이션의 전체 프레임워크가 변형될 수 있습니다.
CSS 변수로 테스트 애플리케이션 스타일 지정
사용자 정의 속성이라고도 하는 CSS 변수는 사용자가 스타일시트 내에서 동적 값을 할당할 수 있는 계단식 스타일 시트의 기능입니다. 이 기능을 사용하면 색 구성표 및 서체 크기와 같은 속성을 중앙에서 관리할 수 있으므로 테마 제작 프로세스가 크게 향상됩니다.
Vue 애플리케이션에서 다양한 디자인 체계를 구현하기 위해 CSS 사용자 정의 속성과 CSS 의사 클래스 선택기를 사용하여 표준 라이트 모드와 보다 차분한 다크 모드 테마를 모두 도입할 것입니다. 이 작업을 용이하게 하려면 프로젝트 내의 ‘src/assets’ 폴더로 이동하여 ‘styles.css’라는 제목의 새 파일을 생성하세요.
이 기사에서는 교육에 사회 및 정서 학습(SEL)을 통합하는 것의 중요성에 대해 설명하며, 학생들의 학업 성취도와 전반적인 웰빙을 향상시킬 수 있는 잠재력을 강조합니다. 저자는 SEL은 단순한 추가 기능이나 “좋은 것”이 아니라 완전한 교육의 중요한 구성 요소라고 강조합니다. 이 글은 다양한 연구 조사를 바탕으로 SEL을 통합하면 성적 향상, 출석률 향상, 졸업률 증가, 사회적 기술 향상, 행동 문제 감소와 같은 학생의 성과가 향상될 수 있음을 강조합니다. 또한 사회 경제적 배경에 관계없이 모든 학생에게 유익한 것으로 입증되었으므로 학교는 시험 준비보다 이러한 기술 개발에 우선 순위를 두어야한다고 제안합니다.
기후 변화가 생물 다양성에 미치는 영향을 이해하고 완화하기 위해서는 기후 변화가 생물 다양성에 미치는 영향을 분석하는 포괄적인 접근 방식이 필요합니다.
기존 `styles.css` 파일에 다음 CSS 스타일을 추가하여 모양과 기능을 향상시킬 수 있습니다: “`css /* 반응형 디자인 */ @media (최소 너비: 768px) { /* 더 큰 화면에 맞게 레이아웃 조정 */ } } /* 타이포그래피 */ } H1, H2, H3, H4, H5, H6 { 글꼴 가족: 산세리프; margin-bottom: 10px; } body { 글꼴 크기: 16px; 줄 높이: 1.5; } a { color: #fff; 텍스트 장식: 없음; } a:hover {
/* styles.css */
:root {
--background-color: #ffffff; /* White */
--text-color: #333333; /* Dark Gray */
--box-background: #007bff; /* Royal Blue */
--box-text-color: #ffffff; /* White */
--toggle-button: #007bff; /* Royal Blue */
}
[data-theme='true'] {
--background-color: #333333; /* Dark Gray */
--text-color: #ffffff; /* White */
--box-background: #000000; /* Black */
--box-text-color: #ffffff; /* White */
--toggle-button: #000000; /* Black */
}
이 선언에 사용된 선택기에는 ::root 의사 클래스 및 [data-theme=’true’] 속성 선택기가 모두 포함됩니다. 전자를 사용할 경우 스타일 규칙은 HTML 문서의 가장 상위 조상 요소에 적용되어 전체 웹 페이지의 표준 시각적 구성으로 작동합니다.
데이터-테마 선택기는 해당 속성에 “true” 속성 값이 지정된 요소를 선택하는 HTML 요소 속성 선택기입니다. 이를 통해 어두운 모드에 대한 스타일 테마를 정의하여 기본 밝은 모드 모양을 재정의할 수 있습니다.
앞서 언급한 선언은 — 접두사를 사용하여 CSS 변수를 설정합니다. 이러한 변수는 색상 값을 포함하므로 다양한 밝고 어두운 테마 구성에서 애플리케이션의 시각적 표현을 쉽게 사용자 지정할 수 있습니다.
웹 페이지의 모양을 수정하려면 “src/main.js” 파일을 편집하고 “styles.css” 파일을 가져와야 합니다. 이 작업은 HTML 문서의 헤드 섹션에 CSS 파일의 위치를 지정하는 코드 줄을 추가하면 됩니다. 이 작업이 완료되면 웹사이트의 시각적 표현이 원하는 대로 변경된 것을 볼 수 있습니다.
// main.js
import './assets/styles.css'
import { createApp } from 'vue'
import App from './App.vue'
createApp(App).mount('#app')
시각적 호소력을 높이려면 `styles.css` 파일 내에 추가적인 스타일 요소를 통합하는 것이 필수적입니다. 이러한 정의는 `데이터 테마` 선택기 아래에 있으며 `var` 키워드를 사용하여 사용자 정의 가능한 색 구성표에 액세스할 수 있습니다. 각 변수와 관련된 값을 변경하면 디자인 전체에 사용되는 일반적인 색상을 손쉽게 수정할 수 있습니다.
* {
background-color: var(--background-color);
text-align: center;
color: var(--text-color);
padding: 20px;
font-family: Arial, sans-serif;
transition: background-color 0.3s, color 0.3s;
}
.header {
font-size: 24px;
margin-bottom: 20px;
}
.styled-box {
background-color: var(--box-background);
color: var(--box-text-color);
padding: 10px;
border-radius: 5px;
margin: 20px 0;
}
.styled-text {
font-size: 18px;
font-weight: bold;
}
.toggle-button {
background-color: var(--toggle-button);
color: #fff;
border: none;
border-radius: 3px;
cursor: pointer;
padding: 5px 10px;
}
범용 CSS 선택기(\*)를 사용하면 모든 요소에 전환 속성을 적용하여 모드를 변경할 때 애니메이션이 끊김 없이 이어지도록 할 수 있습니다.
* {
/* Add more transitions as needed */
transition: background-color 0.3s, color 0.3s;
}
다크 모드 활성화 시 배경 색조와 텍스트 톤이 매끄럽게 전환되어 매혹적인 결과를 만들어냅니다.
다크 모드 로직 구현
다크 테마 모드를 통합하려면 밝은 색상과 어두운 색상 사이를 전환하는 자바스크립트 코드를 사용해야 합니다. 이 스크립트 블록은 컴포넌트 생성을 위해 Vue.js 컴포지션 API를 사용하는 `App.vue` 파일의 마크업 섹션 바로 아래에 배치하세요.
<!-- App.vue -->
<script setup>
import { ref } from 'vue';
// Function to get the initial dark mode preference from local storage
const getInitialDarkMode = () => {
const userPreference = localStorage.getItem('darkMode');
return userPreference === 'true' ? true : false;
};
// Define the ref for darkMode and initialize it with the user preference
// or false
const darkMode = ref(getInitialDarkMode());
// Function to save the dark mode preference to local storage
const saveDarkModePreference = (isDarkMode) => {
localStorage.setItem('darkMode', isDarkMode);
};
// Function to toggle dark mode and update the local storage preference
const toggleDarkMode = () => {
darkMode.value = !darkMode.value;
saveDarkModePreference(darkMode.value);
};
</script>
앞서 언급한 코드에는 웹 애플리케이션 내에서 밝은 테마와 어두운 테마를 전환하는 데 필요한 모든 JavaScript 작업이 포함되어 있습니다. 이 코드는 Vue에서 반응성을 통해 가변 데이터의 관리를 용이하게 하는 ref 함수를 가져오는 import 선언으로 시작됩니다.
다음 단계는 브라우저의 로컬 저장소에서 사용자가 선호하는 다크 모드 설정을 가져오는 `getInitialDarkMode` 함수를 구현하는 것입니다. 이 함수는 이후 `darkMode` 참조 변수를 초기화하는 데 사용되며, 이 변수는 `getInitialDarkMode` 함수를 통해 얻은 다크 모드 기본 설정을 사용하여 초기화됩니다.
`saveDarkModePreference` 함수는 `setItem` 메서드를 활용하여 브라우저의 로컬 저장소 내에서 사용자가 선호하는 다크 모드 설정을 쉽게 수정할 수 있도록 합니다. 이후 `toggleDarkMode` 함수를 통해 사용자가 라이트 모드와 다크 모드를 전환할 수 있으며, 이에 따라 브라우저의 로컬 저장소에 저장된 해당 값을 업데이트합니다.
다크 모드 테마 적용 및 애플리케이션 테스트
애플리케이션에 다크 모드 기능을 통합하기 위해서는 App.vue 파일의 템플릿 섹션 내 루트 요소에 “data-theme”이라는 조건부 속성 선택기를 도입해야 합니다. 이렇게 하면 사용자의 선호도나 시스템 설정에 따라 라이트 모드 또는 다크 모드 테마를 적용할 수 있습니다. 이를 위해