移动整个html页面的问题! margin-top to html元素不适用于所有页面

时间:2011-04-03 13:09:27

标签: javascript css google-chrome-extension margin

我有一个奇怪的CSS,JS问题。我的chrome扩展程序应该将孔网站向下移动一些像素,这样我就可以在它上面显示一个工具栏。

这适用于大多数页面,但不适用于少数几个页面。我无法找出问题所在。移动页面的代码非常简单。只是这一行,它为html元素添加了一个margin-top:

document.getElementsByTagName('html')[0].style.marginTop = '36px !important';

最简单的解释和看到,如果您安装插件并浏览到www(点)interspar(点)(这里它工作)和www(点)weinwelt(点)at(这里它不起作用)。插件位于https://chrome.google.com/webstore/detail/pilobbegphefikcgjpajnneiiahhejam

请不要将此视为垃圾邮件,因为此插件只适用于讲德语的人,我认为此处并不多;)

3 个答案:

答案 0 :(得分:3)

它不适用于该网站,因为它的整个内容绝对定位(查看<div class="parent">)。您需要遍历整个DOM,寻找具有top属性的绝对定位元素,并相应地增加其值。

这只是冰山一角,因为有些网站会动态地向页面添加绝对定位的元素,所以你需要听dom更改(DOMSubtreeModified事件)并再次重新定位

答案 1 :(得分:2)

在BODY上尝试一下;

document.getElementsByTagName('body')[0].style.marginTop = '36px !important';

HTML tag无法获得保证金。

答案 2 :(得分:-3)

根据以下链接,“!important”仅受safari支持。

http://hungred.com/how-to/jquery-javascript-css-important/