Javascript 工具栏插件 CSS 继承

标签 javascript html css

<分区>

我构建了一个小的 javascript 插件,可以通过单击浏览器工具栏上的相关按钮来访问它。

在某些网站上它运行良好,但在其他网站上它看起来很糟糕,主要是因为它从父页面获取 CSS 样式。

在构建工具栏插件时,我可以做什么/遵循哪些规则以防止我的工具从浏览器页面继承样式。

最佳答案

起作用的现象是css 继承。 您添加到页面的所有内容都将根据该页面的 css 设置样式。 您需要使用类来使添加的元素的 css 比从页面自己的 css 应用到它的其他规则更具体。

您的新元素的 CSS 规则需要比适用于它的其他规则更具体。有点像口头语言,具体意味着更详细地提及某事。

规则 1

table tbody td span{ font-weight: bold; }

规则 2

table span{ font-weight: normal; }

在这种情况下,规则 1 将“胜过”规则 2,因为它更具体

要获得快速解释,请查看 htmldog 的 page on css specificty

您想清除任何样式的 css,然后再添加它们。 假设这一切都在一个带有 class="jibber-nav"

的 div 中

你可以这样做:

.jibber-nav,
.jibber-nav ul,
.jibber-nav li,
.jibber-nav a{
  background: none;
  color: #000;
  font-family: sans-serif;
  padding: 0;
  margin: 0;
}

/**** then add style you want *******/

.jibber-nav li{
  border: 2px solid #123456;
  border: radius: 4px;
}

.jibber-nav a{
  color: #097654;
}

如果一切都失败了,您可以将 !important 附加到您所有的 css 规则,但这会使您成为一个坏人并且不被信任。实际上,它只是增加了使您的代码变得难以处理的巨大风险,但这是一回事。

关于Javascript 工具栏插件 CSS 继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15156951/

相关文章:

javascript - 如何在 HTML 登录页面中设置 "password123"作为我的密码

javascript - 在 Firefox 中拖放到 contentEditable DIV

html - 为什么我会看到基础构建 block 的意外渲染?

html - 带有文字叠加的响应图像

html - 尽管是内联 block ,元素表现得像 block

javascript - JBusinessDirectory 在搜索表单上拆分类别和子类别

javascript - 如何根据 javascript 值使动画持续时间动态化

javascript - 强制浏览器在文件下载时打开 "Save As"对话框

javascript - 正则表达式为 html 属性加上引号

javascript - <tr> onclick 有效,但我也想要视觉效果