【发布时间】:2012-04-23 10:32:42
【问题描述】:
我希望我的 chrome 扩展程序在激活时能够在任何页面的右侧注入一个 300 像素的侧边栏。我正在寻找将整个页面限制为 document.body.clientWidth - 300 的最佳方法,从而将 300px 留在我的侧边栏的右侧。我当前注入的侧边栏附加到 document.body 并具有如下样式:
width:300px
position: fixed
top: 0px
right: 0px
height:500px
我需要一种方法来防止现有页面元素渗入我的侧边栏。我希望有一种方法可以诱使现有元素认为它们正在渲染到比实际窗口窄 300px 的浏览器客户端,从而为我的侧边栏留出空间,但我还没有找到任何简单的方法来做到这一点。 .
【问题讨论】:
-
你想在哪个站点注入你的侧边栏?看看你是否可以从页面上存在的容器的宽度减去 300px。
-
这必须适用于任何网站。我可以尝试在网站上的主体上设置最大宽度,但它可能仍然具有固定位置元素,这将迫使它流血。元素也可以覆盖该最大宽度...
-
这很难做到。您可以采用的另一种方法是将整个 body DOM 包装到一个新的 div 中,然后添加 margin-right:300px;到它,但再次固定位置和浮动元素会产生问题。我建议改为添加一个可停靠面板。
-
可停靠面板可以,但仍会覆盖内容。 Chrome 的扩展程序有一个面板窗口类型,但它们目前是实验性的。
标签: javascript css google-chrome google-chrome-extension