dre*_*ien 8 css position positioning absolute internet-explorer-7
我在IE7上的位置绝对属性有问题.我的div向右移动10px.以下是我的代码.IE8和9工作正常. id菜单是我指的div.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body{margin: 0 0 0 0; padding: 0 0 0 0;}
#holder{width: 400px; height: 500px; margin: 0 auto;}
#left{float: left; width: 50px; height: 500px; background-color: red;}
#center{float: left; width: 300px; height: 500px; background-color: green;}
#right{float: left; width: 50px; height: 500px; background-color: red;}
#header{width: 300px; height: 70px; background-color: yellow;}
#gal-holder{width: 280px; height: 70px; margin: 0 auto;}
#gallery{width: 280px; height: 410px; background-color: orange;}
#button{width: 400px; height: 45px; background-color: red; margin: 0 auto;}
#menu{width: 300px; height: 45px; background-color: pink; position: absolute; z-index: 1000; top: 100px;}
#content{width: 380px; height: 200px; margin: 0 auto; background-color: blue; padding: 10px; color: #fff;}
#clear{height: 10px;}
</style>
</head>
<body>
<div id="holder">
<div id="left"></div>
<div id="center">
<div id="header"></div>
<div id="menu"></div>
<div id="gal-holder">
<div id="clear"></div>
<div id="gallery"></div>
<div id="clear"></div>
</div>
</div>
<div id="right"></div>
</div>
<div id="button"></div>
<div id="content">Sample text</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Gal*_*len 18
添加position:relative
到#center
,然后left:0px
到#menu
.
绝对定位的元素相对于其最接近的父母定位.最好给出你想要的项目左/右和上/下坐标,以防止你找到的奇怪结果.
您应指定顶部和左侧位置并添加position:relative
到直接父级:
#center {
float: left;
width: 300px;
height: 500px;
background-color: green;
position:relative;
}
#menu {
width: 300px;
height: 45px;
background-color: pink;
position: absolute;
z-index: 1000;
top: 100px;
left: 0;
}
Run Code Online (Sandbox Code Playgroud)
一个现实的例子:http://jsfiddle.net/ambiguous/vRJMd/
默认值left
是auto
,或多或少意味着浏览器可以做任何它认为合理的事情.此外,绝对定位的元素相对于最近的祖先定位,其位置不是static
(可能<body>
在您的情况下).