2017-05-06 76 views
1

我正在使用角度2材質的主題之一。我可以在材質組件上使用按鈕,工具欄上的主題顏色,使用color =「primary」。但我無法弄清楚如何主題div。我不想在.css文件中對散列進行硬編碼,因爲如果我決定更改主題,它需要在所有地方進行更改。我錯過了什麼嗎?什麼是最好的方法來做到這一點?如何將Div的背景顏色設置爲Angular 2中的主要主題顏色材質

回答

3

事實上,你不可能每一個HTML元素上使用color="primary"

我所做的是一個叫color-primary

@import '[email protected]/material/theming'; 
@include mat-core(); 

$primary: mat-palette($mat-deep-purple, 600, 500, 900); 
$accent: mat-palette($mat-amber, A400, A300, A600); 


.color-primary { 
    color: mat-color($primary); 
} 

.color-accent { 
    color: mat-color($accent); 
} 

當然類,我在這裏設置的顏色,但你可以創建另一個類,例如:background-color-primary

(這裏是我的示例項目的鏈接:Pizza-Sync)。

+0

看起來我不得不使用SCSS。到現在爲止,我一直在用CSS做所有事情。只有CSS你可能知道任何解決方案? – user2255622

+0

沒有抱歉,我只知道如何用SCSS做到這一點。那麼......其實你可能會靜態定義它,但如果你改變主題,它不會改變它......你應該真的用scss;)另外,你不需要在開始時改變任何東西,你可以使用sccs功能一點點一步,讓你的生活更輕鬆:) – Maxime

+0

我只是爲最初的版本靜態地做了它,但它無視了主題本身的整個目的。那麼現在我已經轉向scss,現在工作正常。謝謝你 – user2255622