获取一个带有{position:absolute;的滚动条;右:0px; }

时间:2011-10-20 12:06:15

标签: html css scrollbar positioning

我需要将iframe中的一些元素对齐到右侧,并在iframe被压扁时激活iframe上的水平滚动条。

以下代码(在iframe中)与左侧定位完美配合:

<html>
    <body>
        <div>
            <table>
                <tr>
                    <td>lorem ipsum here</td>
                    <td>lorem ipsum here</td>
                    <td>lorem ipsum here</td>
                    <td>lorem ipsum here</td>
                    <td>lorem ipsum here</td>
                </tr>
            </table>
        </div>
    </body>
</html>

html{
    overflow:scroll;
}
table{
    position: absolute; 
    left: 0px;
}
td {
    white-space: nowrap;
    border: 1px solid black;
}

具有正确定位的完全相同的CSS(右:0px;)被破坏,水平滚动条不会被激活。

编辑:水平滚动条

EDIT2:此HTML位在iframe中

EDIT3:有趣的是document.getElementById('tableID')。scrollWidth提供有关scrollBar应该具有但不显示的scrollWidth的准确信息。我可能会尝试一个难看的丑陋修复我的问题(即创建一个人工滚动条,fml)

1 个答案:

答案 0 :(得分:2)

要获取滚动条,该表必须出现在流程中;如果你将它的position更改为absolute,它就会从流程中删除,所以没有JavaScript来计算数字(不要那样做永远!)你不能这样做它

在我看来,你想要的只是删除页面上的边距。如果这是正确的,只需输入您的样式body { padding: 0; }(并从position中移除lefttable)。

另外,如果你只是想让它滚动,你不需要把它放在iframe中(无偿地使用iframe是不可取的)。容器上的overflow: scroll就足够了。

如果您可以更完整地展示您想要实现的目标,可以提供更精确的建议。