javascript - 防止文档样式表影响chrome扩展注入(inject)的元素样式

标签 javascript jquery html css google-chrome

我正在编写一个 chrome 扩展程序,它将向文档中注入(inject)一些元素。问题是注入(inject)的元素 css 是从文档中指定的样式表继承的。

文档中使用的样式

div {
    color:red;
    border:1px solid black;
}

从扩展中注入(inject) div 样式表

#myext div {
   color:#ccc;
}

但是,我没有在我的样式表中指定边框颜色,因此它继承自页面样式表并丑化了嵌入元素。

为了克服这个问题,我得出一个结论,即为我的容器 (#myext) 指定所有 css 属性,这样所有子元素都将从这些属性继承,或者使用 iframe 来避免覆盖 css。

什么是最好的主意?

最佳答案

像您建议的那样将所有内容都特定于 ID 将确保正确的 div 被定位...这就是大多数插件倾向于做事的方式...您总是可以在 SCSS 中编写它并编译它以使编码时的生活更轻松,使用 SCSS 你可以将所有内容包装在 ID 中,例如:

#mytext {
    div {
        border: 0;
    }

    h1 {
        color: #000;
    }
}

关于javascript - 防止文档样式表影响chrome扩展注入(inject)的元素样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29192641/

相关文章:

javascript - 如何链接javascript函数在wordpress主导航菜单中有一个herf

javascript - 为什么我不能在 node.js 中对这个 URL 进行 url 编码?

javascript - Knockoutjs 在尝试创建一系列无序列表时抛出异常

javascript - 精益方法来替换html中的文本?

java - 处理照片上传的最佳方式是什么?

javascript - 使用 JavaScript 检测触摸设备上的不活动状态

c# - 从客户端向服务器端发送数据 - 无效的 JSON PRIMITIVE : location

javascript - 获取此 <div> 之外的 <div>

php - 无需插件即可在表单外上传 Ajax 文件

javascript - 如何将 <div> 标签附加到 <tr> 标签中,且位置与 <tr> 标签完全相同