W sumie to mozna sprobowac zrobic bez obrazków, moja propozycja:
* {
padding: 0;
margin: 0;
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
border: 0;
}
body {
text-align: center;
}
div#all {
width: 800px;
background: red;
border: 2px solid black;
margin: 20px auto;
text-align: left;
}
ul#data li {
border-bottom: 2px solid black;
list-style-type: none;
padding: 4px 0;
}
ul#data li span {
border-right: 2px solid black;
padding: 6px;
}
ul#data li strong {
padding: 6px;
}
img#data_image {
border: 2px solid black;
float: right;
margin: -2px -2px 0 0; /* dla IE: -2px -5px 0 0 */
}
p#footer {
clear: both;
padding: 6px;
}
<img id="data_image" src="http://antyweb.pl/wp-content/uploads/2008/11/opera-logo001.jpeg" /> <p id="footer">footer ?
</p>
Z tym ze dla obrazka w IE widnieje maly margines ok 2px po prawej stronie - zaznaczylem to w komentarzu w css wiec mozesz zrobic instrukcje warunkowe dla IE i dla restzy przegladarek, lub obrazek pozycjonowac wzgledem #data:
#data { position: relative }
img#data_image { position: absolute; top: -2px; right: -2px; /* -2px - bo border ustawiony u mnie jest dla #all na 2px */ }
Ale tu bedziesz musial miec wiecej tresci lub dac duzy padding-bottom lub margin-bottom dla <ul>
Natomiast jezli chcialbys koniecznie to zrobic tak jak masz na przykladzie - czyli zebys mial domyslnie rozszerzane to mozna to zrobic z pomoca php, np. napisac skrypt co bedzie pobierac szerokosc zdjecia w zaleznosci od szerokosci div'a glownego ktory zakladamy, ze mialby 100% (u mnie 800px=100%). I majac juz szerokosc zdjecia trzeba napisac funkcje 100% diva gl w px - szerokosci zdjecia i przypisywac dla <ul> wynik... Ale to tak na upartego... Ja bym kombinowal cos tak jak ja podalem powyzej...