【发布时间】:2021-12-01 15:32:18
【问题描述】:
我试图通过创建一个新组件(使用不同的名称)并在那里添加更改来测试对我的 NavMenu 组件的一些更改,但我很快注意到我的 CSS 不再正确加载。
从控制台我注意到新文件没有引用 {Assembly}.styles.css
当我只是重命名 NavMenu 组件时,同样的问题仍然存在。
对 NavMenu 的整个解决方案的搜索在使用它的 MainLayout 之外没有产生任何结果。
【问题讨论】:
我试图通过创建一个新组件(使用不同的名称)并在那里添加更改来测试对我的 NavMenu 组件的一些更改,但我很快注意到我的 CSS 不再正确加载。
从控制台我注意到新文件没有引用 {Assembly}.styles.css
当我只是重命名 NavMenu 组件时,同样的问题仍然存在。
对 NavMenu 的整个解决方案的搜索在使用它的 MainLayout 之外没有产生任何结果。
【问题讨论】:
NavMenu CSS 嵌套在 NavMenu.razor 下并且具有相同的名称 NavMenu.razor.css,至少在 Dotnet 6.0 中,我认为 CSS 文件嵌套从 Dotnet 5.0 开始有效。这就是所谓的 CSS 隔离。
此独立文件中的样式仅应用于它嵌套的文件。因此,通过创建一个新的 razor 页面,如果您想使用独立 CSS 中的样式,则需要附加一个新的 CSS 文件。
(来自 Microsoft aspnet 关于 css-isolation 的文档) https://docs.microsoft.com/en-us/aspnet/core/blazor/components/css-isolation?view=aspnetcore-6.0#enable-css-isolation
【讨论】: