Secara default, h1 adalah elemen blok dan akan di-render pada baris setelah img pertama, dan akan menyebabkan img kedua muncul di baris setelah blok.
Untuk menghentikan hal ini terjadi, Anda dapat mengatur h1 agar memiliki perilaku aliran sebaris:
#header > h1 { display: inline; }
Sedangkan untuk benar-benar memposisikan img di dalam div , Anda perlu mengatur div yang berisi memiliki "ukuran yang diketahui" sebelum ini akan berfungsi dengan baik. Dalam pengalaman saya, Anda juga perlu mengubah atribut posisi dari default - position: relative berfungsi untuk saya:
#header { position: relative; width: 20em; height: 20em; }
#img-for-abs-positioning { position: absolute; top: 0; left: 0; }
Jika Anda bisa membuatnya berfungsi, Anda mungkin ingin mencoba secara progresif menghapus atribut tinggi, lebar, posisi dari div.header untuk mendapatkan atribut minimal yang diperlukan untuk mendapatkan efek yang Anda inginkan.
MEMPERBARUI:
Berikut adalah contoh lengkap yang berfungsi di Firefox 3:
<!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>