Javascript:创建不继承css的元素
Javascript: Create element that does not inherit css?
我正在为学校制作一个简单的防油精脚本,它添加了一个丑陋的黄色框,其中包含指向所有网站的一些链接。目前我只是这样做:
var guesses_div = document.createElement("div");
guesses_div.style.position = "fixed";
guesses_div.style.right = "0";
guesses_div.style.bottom = "0";
guesses_div.style.backgroundColor = "rgb(255, 255, 0)"
// here I add some links to the "guesses_div"
此代码运行良好。然而,它继承了它所在网页的样式。有办法防止这种情况吗?除了逐个覆盖所有样式元素之外?
谢谢!
简短回答:不。没有办法阻止继承的css。
长话短说:是的。您应该手动覆盖继承的css规则。
不确定这是否是有史以来最好的方法,但在html5中,你可以使用几乎所有的东西作为标记名-所以为了不让你的div继承div的sites-css规则,只需不创建div
,而是创建myDiv
,例如
var guesses_div = document.createElement("myDiv");
guesses_div.style.position = "fixed";
guesses_div.style.right = "0";
guesses_div.style.bottom = "0";
guesses_div.style.backgroundColor = "rgb(255, 255, 0)"
FIDDLE
插入iframe
而不是div
怎么样?iframe
不会从其父项继承样式。
如果对如何做到这一点有疑问,请参考这个问题。
您可以查看all
属性,并执行以下操作:
var guesses_div = document.createElement("div");
guesses_div.style.all = "unset";
guesses_div.style.position = "fixed";
guesses_div.style.right = "0";
guesses_div.style.bottom = "0";
guesses_div.style.backgroundColor = "rgb(255, 255, 0)";
不幸的是,这在IE或Safari中还不起作用,但由于你正在使用Greasemonkey(我相信只适用于Firefox),你应该没事。
相关文章:
- 宽度为100%的CSS元素位于视口之外
- 如何在jquery中从右、从左、从下移动css元素
- 什么'这段用javascript移动css元素的代码错了
- 使用javascript操作css元素,左短划线
- 何时在javascript中使用css元素/类选择器
- 重写HTML CSS元素
- 基于计算定义css元素
- I'我试图用一个按钮随意移动一个CSS元素,我试图使用偏移量,但onlick不起作用
- 影响 JavaScript 中的 CSS 元素
- 存储/检索 CSS 元素
- CSS 元素不会正确对齐
- css 元素和设置间隔错误
- 将 HTML/CSS 元素转换为可重用的 AngularJS 指令
- 相对于另一个 css 元素定位一个元素,而不编辑 html
- 如何对线条进行动画处理以跟踪移动的 CSS 元素
- 如何在 JavaScript 中定位特定的 CSS 元素
- 流星:如何使用空格键来应用不同的CSS元素
- Web 浏览器正在按字母顺序编译 css 元素
- 如何使用 css 元素从 java 添加 url 链接
- 如何通过 css 元素从 jquery 添加 url 链接