CSS绝对定位

时间:2011-05-09 17:05:29

标签: css

理论问题:

绝对定位元素应该从哪个位置开始定位父元素?在其边界边缘,或其填充偏移量?当绝对定位一个孩子时,Safari似乎忽略了父级的填充,但firefox和IE似乎考虑了填充并从该偏移量开始。

由于

2 个答案:

答案 0 :(得分:3)

自动偏移的内容会考虑填充。如果您有非自动偏移,那么这些是从填充和边界之间的边界测量的。

答案 1 :(得分:0)

以下似乎在所有浏览器中都是相同的。在IE9中。 FF4.01,GG11,AF5和Opera 11.在没有top,bottom,right或left属性的情况下,绝对定位的子元素在应用填充后开始。即,子元素的顶部从填充的底部开始,子元素的左边在左边的填充之后开始。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Template</title>
<link href="styles.css" type="text/css" rel="stylesheet" />
</head>
<body>

<div class="outer">

<div class="inner">
</div>

</div>

</body>
</html>

CSS

div.outer
    {
    width: 800px;
    height: 500px;
    outline: 1px solid red;
    position: relative;
    background-color: #38EAFF;
    margin: 50px;
    padding: 25px;
    }


div.inner
    {
    width: 400px;
    height: 250px;
    outline: 1px solid green;
    position: absolute;
    background-color: green;
    }

我没有看到Safari在这里忽略父母的apdding?