簡體   English   中英

所有組件的角度全局CSS

[英]Angular global css to all components

我有一個HTML文件和一個CSS文件,我想將其轉換為有角度的2種方式=>將文檔中的某些對象分離為不同的組件...所以我創建了有角度的應用程序和組件,但我不想更改我的全局css文件中的任何內容。

我正在嘗試將“ index.html”中的全局​​css應用於所有子組件,但似乎每個組件都使用相對於其自身的css。例如,我的意思是如果在我的“ all.css”文件中我有這些行:

.col-lg-3 {
   width: 25%;
}

在我的子組件中,25%的寬度將相對於組件的寬度,而不是文檔的<body>寬度...這將“導致我的組件占主體的25%,但是組件的內部對象將是25%中的25%...

我該怎么辦?

謝謝

編輯:

我試圖實現的是每個css元素都相對於文檔的<body>標記而不是父元素...例如:我有3個組件:

應用->父->子

我希望孩子的組件元素寬度百分比相對於App組件而不是父組件...

我沒有完全理解您要做什么,因為沒有提供任何代碼。 但是,有許多解決方案基於您要實現的目標。

(a)您可以將div移到當前父對象的外部,也可以為內部div定義特定的寬度。

(b)如果只需要始終根據主要內容區域設置內部div的寬度,則可以使用視口寬度

.col-lg-3 {
   width: 25vw;
}

這會將寬度設置為視口寬度的25%

(c)如果需要在運行時動態更改寬度,並且需要更改某些特定元素,則可以在Body加載后捕獲視口寬度,並使用以下方法更改內部div的寬度

document.getElementById('elementsId').style.width = 0.25 * window.innerWidth + 'px' //you can use screen.width also

(d)使用less.js,它允許您在運行時動態更改CSS類。 有關更多詳細信息,請參見http://lesscss.org/

在較少的CSS中添加此

@myinnerWidth:25%
.col-lg-3 {
   width: @myinnerWidth
}

然后在您的控制器中動態更改myinnerWidth

less.modifyVars({
  '@myInnerWidth': 0.25 * screen.width + 'px'
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM