我已经构建了一个小的 javascript 插件,可以通过单击浏览器工具栏上的相关按钮来访问它。
在某些站点上它运行良好,但在其他站点上它看起来很糟糕,主要是因为它从父页面获取 CSS 样式。
在构建工具栏插件时,我可以做些什么/遵循规则,以防止我的工具从浏览器页面继承样式。
我已经构建了一个小的 javascript 插件,可以通过单击浏览器工具栏上的相关按钮来访问它。
在某些站点上它运行良好,但在其他站点上它看起来很糟糕,主要是因为它从父页面获取 CSS 样式。
在构建工具栏插件时,我可以做些什么/遵循规则,以防止我的工具从浏览器页面继承样式。
起作用的现象是css 继承。您添加到页面的所有内容都将根据该页面的 css 设置样式。您需要使用类来使您添加的元素的 css 比从页面自己的 css 应用到它的其他规则更具体。
您的新元素的 CSS 规则需要比适用于它的其他规则更具体。有点像口语,具体意味着更详细地指代某事。
规则1
表 tbody td span{ 字体粗细:粗体;}
规则 2
表跨度{字体粗细:正常;}
在这种情况下,规则 1 将“胜过”规则 2,因为它更具体。
如需快速解释,请查看 htmldog's 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 规则中,但这会使您成为一个坏人并且不值得信任。实际上,它只会增加使您的代码难以使用的风险,但这是同一回事。