請考慮下面的網頁。 <img>
完全相對於其父級定位,並且當我在Safari或Firefox上加載此頁面時,<img>
按預期顯示在右上角(請參見第一幅圖像)。但是,當從<div>
中刪除邊框時(例如,通過設置border-width: 0
),<img>
的位置絕對相對於<p>
標籤,它的兄弟!見圖#2。爲什麼是這樣?邊界應該有什麼區別?CSS絕對定位神祕
<!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然後檢查頁面。 http://meyerweb.com/eric/tools/css/reset/ – Alon