2016-09-27 33 views
1

我有多个页面,我想为每个页面加载不同的CSS文件。Aurelia - 每页加载一个CSS文件/ Scoped CSS

事情是这样的:

status.html

<template> 
    <require from="./css/modules/status.css"></require> 
</template> 

cms.html

<template> 
    <require from="./css/modules/cms.css"></require> 
</template> 

但这不能正常工作。在状态页面加载时,我只有status.css文件,但是如果打开cms页面,我将使用status.css,它将加载cms.css。

+0

[CSS管理与Aurelia CLI的可能重复︰每个视图加载另一个CSS文件强制执行站点范围导致冲突](http://stackoverflow.com/q uestions/39355900/CSS-同治-与最奥里利亚-CLI-每 - 视图 - 负载-另一个-CSS文件将要-enfo) – peinearydevelopment

回答

2

这就是Aurelia延迟加载资源的原理。每当加载视图时,它所需的css文件都会加载到页面中,即使您转到其他视图,它们也会保留在那里。

您正在寻找的是ShadowDOM中存在的功能,但目前唯一支持该功能的浏览器是Chrome AFAIK。

另一种选择是范围的CSS,但它看起来像一个已经停产: http://caniuse.com/#feat=style-scoped

这个问题可能是你的兴趣: https://github.com/aurelia/framework/issues/234

而对完整性的考虑,实际上是一个老校友方式的做法: https://css-tricks.com/saving-the-day-with-scoped-css/