SPFx web 部件的 CSS 适用于它但不适用于页面的其余部分?

SPFx web part's CSS applies to it but not to rest of page?

(SharePoint 在线、SPFx、现代网站)

我的最终目标是:

我为此选择的解决方案是创建一个 SPFx Web 部件, 而不是 扩展 ,我认为后者适用整个 站点。我只是将 Web 部件放在 那一页 上,然后就完成了。

我的问题是:

例如,我没有看到这个生效,甚至根本没有出现在呈现的页面中:

  #spLeftNav {
    color: red !important;
  }

但是,这按预期工作:

.myWebPartFooBar {
     .container {
        color:red !important;
     }
}

问题:我是否缺少某种卫生机制?SharePoint 是否会拦截 CSS 并阻止它应用于我以外的任何事物网络部分?我没有在网络文学中看到任何此类保护系统的踪迹,但也许这是常识。

我有类似的问题。问题是,如果您使用 scss,编译器会将那些 css 标签 #spLeftNav 转换为自定义 webpart only 标签,以防止 css 在整个站点上不匹配。

要覆盖它,请将那些全局 css 标记放入全局变量中(这将防止编译器更改它)。

我的“全局 css”示例:

:global {
#O365_MainLink_Help {
    display:none;
    visibility:hidden;
}
.InfoPane-section.InfoPaneSection--properties {
    display: none;
}
.o365cs-nav-bposLogo .o365cs-nav-brandingText {
    display: none;
}
.o365cs-base.o365cs-topnavBGColor-2 {
    background-color: #17375e !important;
}
.o365cs-base .o365cs-nav-rightMenus {
    background-color: #17375e !important;
}
#spPageChromeAppDiv,
.ms-Nav
{
    background-color: #eeece1 !important;
}
.ms-FocusZone .ms-Nav {
    top: 0px !important;
}
#O365_NavHeader button#O365_MainLink_NavMenu,
#O365_NavHeader button#O365_MainLink_NavMenu_Responsive,
.o365button .o365cs-nav-brandingText,
.ms-searchux-searchbox {
    display: none !important;
}
.CanvasZone:not(.CanvasZone--fullWidth) .ControlZone {
    padding: 0px !important;
}
input:not([type]), input[type=email], input[type=file], input[type=password], input[type=text], select, textarea {
    background-color: #eeece1 !important;
    border-color: #c8c8c8 !important;
    color: #17375e !important;
}
.ms-CommandBarItem-link[disabled] i,
.ms-CommandBarItem-link[disabled] span 
{
    color: unset !important;
}
.ms-compositeHeader-mainLayout {
    height: 77px;
}
div[class^='commentsWrapper_'] {
    display: none;
}
span.ms-siteHeader-siteName {
    white-space: normal !important;
}
.ControlZone {
    margin-top: 0px !important;
}
.ControlZone-control,
.ms-SearchBox,
.ms-BasePicker,
.ms-SearchBox-field {
    background-color: #eeece1 !important;
}
.commandBarWrapper .ms-CommandBar {
    display: none;
}
.ms-compositeHeader {
    padding: 0 32px 0px;
}

}