【发布时间】:2013-07-21 17:32:14
【问题描述】:
考虑下面的网页。 <img> 相对于其父级绝对定位,当我在 Safari 或 Firefox 上加载此页面时,<img> 出现在右上角,正如预期的那样(见第一张图片)。但是,当从<div> 中删除边框时,例如,通过设置border-width: 0,<img> 的位置绝对相对于<p> 标记,它的兄弟!参见图片#2。为什么是这样?边框应该有什么区别?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
body {
margin: 0;
}
div {
position: relative;
left: 0;
top: 0;
border: 1px solid red;
}
img {
position: absolute;
right: 0;
top: 0;
}
p {
margin: 20px;
}
</style>
</head>
<body>
<div>
<img src="content/en/flag.png" />
<p>This is a test</p>
</div>
</body>
</html>
【问题讨论】:
-
尝试使用 css-reset 然后检查页面。 meyerweb.com/eric/tools/css/reset
标签: css html css-position