Varsayılan olarak h1 bir blok öğesidir ve ilk img'den sonra satırda oluşturulur ve ikinci img'in bloğu takip eden satırda görünmesine neden olur.
Bunun olmasını engellemek için h1'i satır içi akış davranışına sahip olacak şekilde ayarlayabilirsiniz:
#header > h1 { display: inline; }
İmg'yi div içinde kesinlikle konumlandırmaya gelince, düzgün çalışmadan önce içeren div'ı "bilinen bir boyuta" ayarlamanız gerekir. Deneyimlerime göre, position özniteliğini de varsayılan konumdan değiştirmelisiniz - position: relative works benim için:
#header { position: relative; width: 20em; height: 20em; }
#img-for-abs-positioning { position: absolute; top: 0; left: 0; }
Bunu çalıştırabilirseniz, istediğiniz efekti elde etmek için gereken minimum özellikleri elde etmek için yükseklik, genişlik, konum niteliklerini div.header'dan aşamalı olarak kaldırmayı deneyebilirsiniz.
GÜNCELLEME:
İşte Firefox 3'te çalışan tam bir örnek:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Example of vertical positioning inside a div</title>
<style type="text/css">
#header > h1 { display: inline; }
#header { border: solid 1px red;
position: relative; }
#img-for-abs-positioning { position: absolute;
bottom: -1em; right: 2em; }
</style>
</head>
<body>
<div id="header">
<img src="#" alt="Image 1" width="40" height="40" />
<h1>Header</h1>
<img src="#" alt="Image 2" width="40" height="40"
id="img-for-abs-positioning" />
</div>
</body>
</html>