2016-11-07 60 views
0

我正在構建一個應用程序,我必須「重置」瀏覽器應用的所有默認CSS。從Angular應用程序的父組件繼承CSS

但是,我不得不復制/粘貼這個每個xxx.component.css,因爲它似乎不會從基線app.component.css繼承任何css。

一切坐在app.component.html模板下,像這樣:

<div class="wrapper"> 
    <app-left-nav></app-left-nav> 
    <app-top-nav></app-top-nav> 
    <app-todo-section></app-todo-section> 
    <app-details-section></app-details-section> 
    <footer></footer> 
</div> 

反正是有配置CSS繼承在角?它是否應該在默認情況下發生?

這裏的「復位」的代碼在app.component.css片段:

html, 
body, 
div, 
span, 
figure, 
figcaption, 
footer, 
header, 
hgroup, 
menu, 
nav, 
mark, 
audio, 
video { 
    margin: 0; 
    padding: 0; 
    border: 0; 
    font-size: 100%; 
    font: inherit; 
    vertical-align: baseline; 
} 

難道我做錯了什麼?如果需要代碼示例,請告訴我!

+0

你可以放置一個代碼示例與CSS? – Aruna

+0

@Aruna從哪個文件具體?我已經粘貼了'app.component.css'重置的片段。我不得不將這些代碼粘貼到每個Angular'component.css'文件中 – Dandy

+0

你可以把你的角碼和它在哪個視圖中工作和不工作? – Aruna

回答

0

無論您使用什麼框架,您的CSS將總是根據CSSOM繼承。所以,如果你的CSS沒有在子組件工作,做到以下幾點:

  1. 看看是否有默認樣式的CSS文件被相應頁面上加載
  2. 查看是否有任何壓倒一切的CSS樣式,您或者你可能使用的任何框架,在相應的頁面中。

TL; DR:是的,它應該通過默認

發生如此說來,你應該注意的是一些CSS屬性不可繼承。對於CSS繼承規則

你使用的屬性的完整列表,請參閱here,以下是不能繼承:

  • 保證金
  • 填充
  • 邊境
  • 垂直對齊

但是,如果只是您在列表中定義的HTML標籤,您需要擁有y我們的CSS應用於此,這應該不重要。以上僅適用於你想繼承