我有一个奇怪的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
请不要将此视为垃圾邮件,因为此插件只适用于讲德语的人,我认为此处并不多;)
答案 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支持。