Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 绝对定位给IE/Chrome带来麻烦_Css_Internet Explorer_Google Chrome_Css Position_Margin - Fatal编程技术网

Css 绝对定位给IE/Chrome带来麻烦

Css 绝对定位给IE/Chrome带来麻烦,css,internet-explorer,google-chrome,css-position,margin,Css,Internet Explorer,Google Chrome,Css Position,Margin,我的网站上有一个画廊。切换显示的照片的一种方法是按下多媒体资料底部的小图像(如下图所示)。为了定位这些小图像,我使用了绝对定位和边距,使它们笔直。问题是,当我在chrome中使用绝对定位时,图像的默认位置从中间开始(以便定位第一个图像(1),我给它分配了“右边距:-395px;”。在IE中,图像的dafault位置从它真正应该的位置开始:“-395px”使图像进一步向右移动,并且图像显示不好 同样的事情发生在chrome中位于右上角的按钮上 ,如果您使用这两种不同的浏览器进行检查(我还没有检查其

我的网站上有一个画廊。切换显示的照片的一种方法是按下多媒体资料底部的小图像(如下图所示)。为了定位这些小图像,我使用了绝对定位和边距,使它们笔直。问题是,当我在chrome中使用绝对定位时,图像的默认位置从中间开始(以便定位第一个图像(1),我给它分配了“右边距:-395px;”。在IE中,图像的dafault位置从它真正应该的位置开始:“-395px”使图像进一步向右移动,并且图像显示不好

同样的事情发生在chrome中位于右上角的按钮上

,如果您使用这两种不同的浏览器进行检查(我还没有检查其他浏览器),您可以看到问题。下面还添加了图像

铬:

资源管理器:

第一个小图像的CSS:(第二个图像:在右边空白处添加100,第三个图像:添加200)


如果使用绝对定位,则应使用
右侧
/
左侧
&
顶部
/
底部
属性来定位元素,而不是
边距

如果您这样做,所有浏览器都会将您的元素定位在同一位置。 阅读更多

另外:确保您的容器(绝对元素的父元素)设置了
position:relative;
set,这样他的子元素(绝对元素)的位置将与他相对。如果有一天您必须移动容器,这将对您大有帮助。

您必须使用此选项

pop.style.left = l+"px"; 
pop.style.top = t+"px";
而不是

pop.style.posLeft = l; 
pop.style.posTop = t;

现在无法签入IE,但是当你从
中删除绝对定位时会发生什么?pic_scroller_2
?它保持不变。我在网站上更改了代码,你可以查看它。我有一个类似的问题-尽管情况简单得多-我通过从中删除绝对定位并添加
文本对齐:c来解决输入父对象的
。我运行了一个小测试,它似乎不会影响Chrome中的任何其他定位,因此这可能会在欺骗IE更改其起始位置时起作用。不起作用。我想它不起作用,因为这不是文本,而是图像。我会尝试将图像居中,但我不能使用“边距:自动”,因为必须有be右边距/左边距。给图像显示一个
显示:内联
?非常感谢!你能解释一下为什么使用边距会干扰浏览器吗?右边距和右边距有什么区别?我想回答了你的问题。
pop.style.posLeft = l; 
pop.style.posTop = t;