문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| angular:material [2019/01/20 12:11] – [사용자 theme 정의하기] taekgu | angular:material [2025/04/15 10:05] (현재) – 바깥 편집 127.0.0.1 | ||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| ===== Angular Material ===== | ===== Angular Material ===== | ||
| + | * [[https:// | ||
| ==== ng CLI 사용 ==== | ==== ng CLI 사용 ==== | ||
| [[study: | [[study: | ||
| 줄 98: | 줄 99: | ||
| } | } | ||
| </ | </ | ||
| + | === Multiple themes and overlay-based components === | ||
| + | 특정 구성 요소 (예 : 메뉴, 선택, 대화 상자 등)는 전역 오버레이 컨테이너 안에 있기 때문에 위의 예에서 테마의 CSS 클래스 선택기 (.unicorn-dark-theme)의 영향을받는 구성 요소에 대한 추가 단계가 필요합니다. ). | ||
| + | 이렇게하려면 전역 오버레이 컨테이너에 적절한 클래스를 추가 할 수 있습니다. 위의 예제에서는 다음과 같습니다. | ||
| + | <code javascript> | ||
| + | import {OverlayContainer} from ' | ||
| + | |||
| + | @NgModule({ | ||
| + | // ... | ||
| + | }) | ||
| + | export class UnicornCandyAppModule { | ||
| + | constructor(overlayContainer: | ||
| + | overlayContainer.getContainerElement().classList.add(' | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | overlayContainer에서 class삭제 | ||
| + | <code javascript> | ||
| + | |||
| + | onThemeChange(_$event) { | ||
| + | // console.log(" | ||
| + | // this.overlayContainer.getContainerElement().classList.remove(); | ||
| + | // this.overlayContainer.getContainerElement().classList.add(this.theme); | ||
| + | // if (this.theme === " | ||
| + | // | ||
| + | // } else { | ||
| + | // | ||
| + | // } | ||
| + | const overlayContainerClasses = this.overlayContainer.getContainerElement().classList; | ||
| + | const themeClassesToRemove = Array.from(overlayContainerClasses).filter((item: | ||
| + | if (themeClassesToRemove.length) { | ||
| + | overlayContainerClasses.remove(...themeClassesToRemove); | ||
| + | } | ||
| + | overlayContainerClasses.add(this.theme); | ||
| + | } | ||
| + | </ | ||
| + | === Theming only certain components === | ||
| + | |||
| + | The angular-material-theme mixin will output styles for all components in the library. If you are only using a subset of the components (or if you want to change the theme for specific components), | ||
| + | <code css> | ||
| + | @import ' | ||
| + | // Plus imports for other components in your app. | ||
| + | |||
| + | // Include the common styles for Angular Material. We include this here so that you only | ||
| + | // have to load a single css file for Angular Material in your app. | ||
| + | // **Be sure that you only ever include this mixin once!** | ||
| + | @include mat-core(); | ||
| + | |||
| + | // Define the theme. | ||
| + | $candy-app-primary: | ||
| + | $candy-app-accent: | ||
| + | $candy-app-theme: | ||
| + | |||
| + | // Include the theme styles for only specified components. | ||
| + | @include mat-core-theme($candy-app-theme); | ||
| + | @include mat-button-theme($candy-app-theme); | ||
| + | @include mat-checkbox-theme($candy-app-theme); | ||
| + | </ | ||
| ==== 참조 ==== | ==== 참조 ==== | ||
| icon | icon | ||
| https:// | https:// | ||
| css grid | css grid | ||