我开发了一个Firefox扩展,用于显示一些不寻常的单词的解释。我的问题是我的工具提示被当前页面的其他样式表修改了。因此,在某些页面上,我的样式表看起来很好,而在某些页面上,它完全搞砸了。有没有办法将样式表限制在我的工具提示备注中,以便网页上的样式表不会影响我的样式表?
我正在以这种方式加载样式表:
initTooltipStyle: function(on) {
var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
var uri = makeURI("resource://tooltip/tooltip.css");
if (sss.sheetRegistered(uri, sss.USER_SHEET))
sss.unregisterSheet(uri, sss.USER_SHEET);
if (on)
sss.loadAndRegisterSheet(uri, sss.USER_SHEET);
},
答案 0 :(得分:0)
我遇到过这个问题。大多数情况下,您未应用于元素的样式属性将很容易被网页覆盖。例如,如果您没有为div元素声明margin,并且网页已声明div{margin:0;}
,则您的元素也会继承它。尝试将reset.css添加到您的元素中(http://meyerweb.com/eric/tools/css/reset/)。
然后尝试将您的元素添加到页面的根元素而不是正文中。 document.documentElement.appendChild()
。这些技术帮助了我。
希望有所帮助!