css - IE11中的点亮元素,自定义元素外部的css样式影响内部样式
问题描述
在我的应用程序中为 ap 元素设置 css 样式只会影响 IE11 中 lit-element 内的 p 元素。
我已经设置了一个非常基本的stackblitz示例来显示该问题。当您在 IE11 中打开它时,您会注意到自定义元素 p 文本是斜体的,该样式来自外部。在其他浏览器中,这不会发生。
这是一个已知问题并且对于 IE11 无法避免吗?或者有什么办法可以解决这个问题?
解决方案
我已经重现了我这边的问题,它可能是 IE 浏览器的默认行为。因为外面的 CSS 样式是全局样式。
作为一种解决方法,您可以更改选择器以阻止它们匹配您不希望它们匹配的元素。比如下面的示例(使用类选择器添加 CSS 样式):
index.html 页面中的代码:
<style>
.outer-p { font-style: italic; }
</style>
</head>
<body>
<p class="outer-p">Text outside element</p>
<my-element></my-element>
</body>
自定义元素中的代码 (my-element.js)
class MyElement extends LitElement {
static get styles() {
return css`
.inner-p { display:block; font-weight: 900; color: #ff9900; }
`;
}
render() {
return html`
<p class="inner-p">Hello world! From my-element</p>
`;
}
}
推荐阅读
- arrays - 连续数组
- bash - EOF 块中的 Bash EOF 块可能吗?
- php - php函数htmlspecialchars不起作用
- python - 如果在__main__中调用python闭包,闭包仍然可以访问函数中的变量。这怎么可能?
- iphone - 与 iOS 应用程序和 Garmin Watch 连接
- android - ARM 上的 Android 模拟器:系统映像
- angular - 如何仅在 mat-stepper 上显示索引?
- r - R中一个时间段的平均价格
- javascript - 如果我在异步调用中省略“等待”,操作是否仍会完成?
- excel - Excel 将多个不同的表导出到 XML