爲Angular 2應用程序實現插件式CSS主題的最佳方式是什麼? 什麼是推薦的文件結構?目前我正在使用angular-cli生成的一個。Angular 2中的CSS主題
回答
我們有幾個辦法樣式添加到組件:
- 內嵌在HTML模板
- 通過設置樣式或styleUrls元
- 與CSS進口
內聯樣式:
@Component({
templateUrl: 'test.html',
styles: [`
.card {
height: 20px;
width: 80px;
}
`],
})
使用外部的樣式表:
@Component({
styleUrls: ['css/mystyle.css'],
templateUrl: 'test.html',
})
CSS進口:
@import 'hero-details-box.css';
組件樣式也有從陰影DOM風格作用域的世界特殊選擇。例如可以應用到文檔中的CSS主題類:
:host-context(.theme-light) h2 {
background-color: #eef;
}
作爲一種常見的做法,在同一個目錄拆分組件的代碼,HTML和CSS爲三個單獨的文件:
quest-summary.component.ts
quest-summary.component.html
quest-summary.component.css
請訪問Component styles瞭解更多信息。
如果您想進一步增強它並使用SAS訪問ANGULAR2 SASS瞭解更多詳情。
styleUrls: ['./sassexample.component.scss']
如果你想使用一個庫UI comnponents請結帳以下:
希望這有助於。
乾杯!
我知道,那不是我問的。我問了關於CSS主題。你會如何在上面的例子中插入一個外部CSS主題? –
對不起,我現在得到它,請看看更新的答案。 –
我的問題不是關於UI組件庫。假設我想創建我自己的組件並添加主題。 –
Angular cli內置了對css預處理器的支持,如sass和less,這對於css主題非常有用。這個問題比較好解決,如果你專注於如何通過以下/上海社會科學院做主題則是如何做到這一點的角度
我會建議有你的根組件下面的根元素:
應用。 component.html
<div [ngClass]="theme">
<div class="widget">TEST</div>
</div>
app.component。通過角CLI提供TS
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
encapsulation: ViewEncapsulation.None // this allows parent styles to influence children
})
export class AppComponent implements OnInit {
public theme: string;
constructor() {}
public ngOnInit(): void {
this.theme = ... some logic to set theme here ...
}
}
app.component.scss
.theme1 {
.widget {
background-color: red;
}
}
.theme2 {
.widget {
background-color: blue;
}
}
我知道該怎麼做主題化的無禮。我的問題是,如果有一種標準的方式來組織Angular 2中的主題/主題文件。我懷疑沒有。你的想法很不錯,但是如果我不想加載CSS中的所有主題呢? –
- 1. Webpack 2:SASS主題與Angular
- 2. WordPress的2列主題CSS問題
- 3. Angular 2 webpack Systemjs.config.js腳本和css問題
- 4. Angular 2自定義主題,SCSS錯誤
- 5. 單元測試Angular 2服務主題
- 6. Angular 2 css風格
- 7. 如何解決Angular 2中的錯誤「無法找到Angular Material核心主題」?
- 8. Angular 2 cli SCSS/CSS訂單
- 9. Angular 2路由與主頁
- 10. Angular 2 CORS問題
- 11. Angular 2 Promise問題
- 12. angular 2 System.import問題
- 13. Angular 2 EventEmitter問題
- 14. 角度材料主題導入Angular 2中不工作在Webstorm
- 15. Bootstrap&Angular的css問題
- 16. Angular 2/Ionic 2發佈請求主體
- 17. Angular 2 Http的問題GET
- 18. 減主題的css
- 19. Angular 2中的驗證問題
- 20. webpack,angular 2,css和sass的設置問題
- 21. 更改Angular 2的材質設計主題
- 22. css主題庫
- 23. 在Angular 2/Ionic 2中刪除自動注入的CSS樣式
- 24. Angular:主題切換器
- 25. Angular Websocket RxJS/WebSocket主題
- 26. Angular ui-select:更改主題
- 27. Angular 2部署問題
- 28. Angular 2安裝問題
- 29. Angular 2 HTTP服務問題
- 30. Angular 2路由問題
文件結構將是你最好的選擇。這是人們大部分時間用來構建適用於生產的angular2應用程序的工具。 –
我同意,這就是爲什麼我使用它。但是CSS主題呢? –