Walczę właśnie ze stroną w HTMLu 4.01 Strict, która ma dość skomplikowany układ. Nie mam pomysłu jak zrobić to na Div'ach (dwa elementy blokowe o zadanej wysokości obok siebie), próbuję więc tabelką. Też mi nie idzie:
i, odpowiadający css:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> <link rel="stylesheet" href="./style.css" type="text/css"> <meta name="keywords" content="{DO WSTAWIENIA}"> <meta name="description" content="{DO WSTAWIENIA}"> <meta name="author" content="{DO WSTAWIENIA}"> <meta name="reply-to" content="{DO WSTAWIENIA}"> <meta name="copyrights" content="{DO WSTAWIENIA}"> <link rel="shortcut icon" href="./images/favicon.ico"> </head> <body> <table class="background-inside"> <tr> <td class="background_inside_center"> </td> <td class="shadow_right"> <img src="./images/shadow_right.jpg" style="border-style:none; padding:0px; margin:0px;" alt="shadow"> </td> </tr> </table> </body> </html>
Kod
body { background-color:#6a3914;
background-image:url('./images/background.jpg');
background-repeat:repeat-x;
background-position:top;
margin:0px; padding:0px; }
.background_inside {width:766px; position:absolute;
left:50%; top:23px; margin:0px;
margin-left:-383px; border:0px;
padding:0px; table-layout:fixed;
border-collapse:collapse;
border-spacing:0px;
border-style:none;
outline-style:none; }
.background_inside_center { width:758px; background-color:#f6c371;
background-image:url('./images/background_inside.jpg');
background-repeat:repeat-x; background-position:top; }
.shadow_right { background-image:url('./images/shadow_right_loop.jpg');
height:100%; width:8px;}
background-image:url('./images/background.jpg');
background-repeat:repeat-x;
background-position:top;
margin:0px; padding:0px; }
.background_inside {width:766px; position:absolute;
left:50%; top:23px; margin:0px;
margin-left:-383px; border:0px;
padding:0px; table-layout:fixed;
border-collapse:collapse;
border-spacing:0px;
border-style:none;
outline-style:none; }
.background_inside_center { width:758px; background-color:#f6c371;
background-image:url('./images/background_inside.jpg');
background-repeat:repeat-x; background-position:top; }
.shadow_right { background-image:url('./images/shadow_right_loop.jpg');
height:100%; width:8px;}
w efekcie powstaje czarne obramowanie dla prawej komórki w tabeli (nie mam pojęcia skąd się bierze), przerwa między komórkami (też nie wiem, padding i border-spacing ustawione na zero). A także największa bolączka - tabelka jest wyrównana do lewej (To: "width:766px; position:absolute; left:50%; margin-left:-383px;" powinno ją wyrównać na środek).
Pytanie moje brzmi: Co zepsułem?
I drugie (nawet bardziej wdzięczny jestem na odpowiedź na to niż na tamto): Czy można to samo uzyskać przy divach? tzn. dwa divy obok siebie o tej samej wysokości, zależnej od zawartości jednego z nich (jeżeli zawartość jednego wykracza poza jego wysokość, powiększa wysokość u obu)? Próbowałem position:relative, ale powstaje brzydka "dziura" w miejscu, gdzie div był. Position:absolute ignoruje zadaną wysokość pomimo argumentu height:100%.
Z góry dziękuję za pomoc

PS> Validator W3C mówi, że moja strona jest poprawna