1

当 gridview 延伸超过标准 960 像素时,我试图将我的 gridview (asp.net) 位置设置为绝对位置。

但是,我遇到了left: 0我想要的效果的问题,但是除此之外的任何东西都不起作用。

这是我的代码。它小于屏幕的部分不起作用,因为我试图将其置于屏幕中心。但是,由于它大于 0,所以 的绝对位置Left: x不起作用。任何帮助,将不胜感激!

 var gridview = document.getElementsByTagName("table");
            var fieldset = document.getElementsByTagName("fieldset");
            fieldset[0].style.position = "relative";
            for (var i = 0; i < gridview.length; i++) {
                var width = gridview[i].offsetWidth;
                var screenWidth = window.screen.width - 2;

                if (width > 940) {
                    gridview[i].style.position = "absolute";
                    if (width > screenWidth) {
                        gridview[i].style.left = 0;
                        alert('> screen');
                    }
                    else {
                        gridview[i].style.left = 50;
                        alert('< screen');
                    }
                }
            }

编辑:修复是在值之后连接“px”

4

1 回答 1

0

还不足以继续下去,但可能是 gridview 的容器没有将它的位置设置为你的 css。

要使用postion:absolute上面的容器,应该设置为,position:relative否则它不会渲染 css。

还尝试将 px 添加到您的大小末尾,将 css 设置为 left:XXpx; 而不仅仅是一个数字。

于 2012-06-15T12:59:03.833 回答