在Javascript中设置绝对位置不起作用

时间:2012-06-14 15:57:23

标签: javascript asp.net css css-position

当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'

1 个答案:

答案 0 :(得分:0)

并不是真的足够继续,但可能是gridview的容器没有将其位置设置为你的CSS。

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

同时尝试将px添加到您的尺寸末尾,将css设置为左:XXpx;而不只是一个数字。