css - 在不破坏向前兼容性的情况下定位 Shadow DOM 元素

标签 css angular dom css-selectors shadow-dom

我正在尝试定位由 mat-menu 创建的 Angular Shadow DOM 元素,如下所示:

$google: #133700

.mat-menu-content {
    background-color: $google;
}

但是,这是行不通的。我被告知 /deep CSS 选择器可能对此有帮助(这只是将 /deep/ 选择器添加到上面的情况?)但是 /deep/ 正在被弃用,以至于当软件准备就绪时它可能已经与现代浏览器不兼容,因此目前它并不是一个真正合适的解决方案。任何人都可以建议一种替代方法来定位 Angular 中的 Shadow DOM 元素吗?

最佳答案

/deep/ 从 CSS 标准中弃用。 Angular 等效项是 ::ng-deep。它将穿透模拟封装(当然不是原生封装)。

::ng-deep .mat-menu-content {
    background-color: $google;
}

关于css - 在不破坏向前兼容性的情况下定位 Shadow DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49202577/

相关文章:

asp.net - 从 ASP.NET 中的嵌套文件夹提供 Web 应用程序,就像它是根目录一样

javascript - 为什么我的 JS 代码没有向 HTML 页面显示消息?

javascript - 是什么导致 jQuery 对象不同?

javascript - 如何在 jquery 中解决这个问题?

html - 图像不适用于容器宽度的 50%

css - Bootstrap 工具提示被切断

javascript - Angular Guard 通过 cookies 中的 token 进行路由

arrays - 如何在 angular2 的 ngFor 中显示 1 个元素?

javascript - 我可以通过重新定义 native 函数从 DOM 中创建一个元素 "unfindable"吗?

html - 在 HTML 表格的 <td> 中设置最小宽度