Problem mit DIV-Layout [GELÖST]

Hi Leute,

es ist mir fast schon peinlich wegen so einem Problem hier nachzufragen, aber ich komm einfach nicht dahinter wo der Fehler liegt.
Ich hab ein auf DIV-Container basierendes Layout, mit einem Header, der mit:

position:relative;top:0px;margin-top:0px;width:100%;height:188px;background-image:url('images/hbg2.jpg')

formatiert ist, soweit so gut, aber ich hab jetzt immer folgendes Problem wenn ich die Seite anschaue dann fängt der header nie bei (0|0) sondern so circa bei (0|22) an.
Den body hab ich eigentlich auch passend formatiert:

margin:0px;padding:0px;background-color:#eeeeee

Die Darstellung ist sowohl im Firefox als auch im IE7 nicht wie ichs mir Vorstelle :p
Hatte jemand mal ein vergleichbares Problem oder eine Idee wie man meines lösen könnte?

Mit freundlichen Grüßen

Da solltest du mal die URI eines Beispieldokumentes angeben,
wo das Problem auftritt.

margin und padding kann man für die Elemente html und body
explizit setzen, da sind die Stilvorlagen verschiedener browser
nicht einheitlich.

Ansonsten - auch wegen position: relative hängt es natürlich
vom konkreten Beispiel ab, wo da was wie angezeigt wird.

Hier ich hab mal ne abgespeckte Version hochgeladen wo das Problem auftritt.
http://development.theuntitledproject.de
Vllt findest ja den Fehler o.O ich suche vergebens.
:hail:

Moin,

ja das Problem ist mir mittlerweile auch bekannt :wink: Liegt daran, dass es XHTML ist und body als Element von betrachtet wird, d.h. du musst sowohl margin:0px; (und padding:0px; ) für html und body angeben.

Also in der CSS einfach schreiben:

html, body { margin:0px; padding:0px; }

dann sollte es funktionieren.

MfG
myPages

hm ich hab das jetzt mal in die css übernommen, aber der Anzeigefehler besteht immernoch.
aber danke für den Hinweis.
mfg

Bei Iceape (Gecko) und Opera sehe ich oben keine Kante, bei
Konqueror schon. Der Validator weist auf einige Fehler hin, die
behoben werden sollten. Ferner gibt der auch noch an, daß da
ein BOM am Anfang der Datei ist, das kann einige browser
durcheinanderbringen, sollte man deshalb vermeiden, die
Schriftkodierung ist ja offenbar sinnvoll angegeben, da ist ein
BOM eher kontraproduktiv.

Nach Beseitigung der Fehler könnte man dann nochmal schauen,
bei welchen browsern immer noch ein Abstand auftaucht …

Die Angaben für html habe ich in der Stilvorlage für obige Datei
nicht gesehen …

Zu dem BOM am Anfang der Datei, ich benutze UltraEdit und habe die index.php sowie die Template Datei /Official_Version_1/index.html als UTF8 abgespeichert. Wie kann ich einen BOM-Stempel entfernen? Falls noch einer vorhanden sein sollte.

Ob der da einen BOM reinmacht oder nicht, sollte eigentlich
irgendwo bei dem Editor einstellbar sein, sonst sollte der
eigentlich gar keinen BOM irgendwo reinsetzen, da man den ja
nunmal für XML-Formate oder HTML garantiert nicht braucht.
Wenn man es nicht einstellen kann, ist der Editor als Editor
irgendwie ungeeignet und sollte nicht verwendet werden -
zumindest nicht für Sachen, die man nachher ins internet
stellen will.

Nun weiß man erst, ob es an sowas oder an den Fehlern liegt,
wenn man die entfernt hat, ist also keine Garantie, daß es
wirklich daran liegt, nur verhindert das auch, daß man effektiv
nach anderen Ursachen suchen möchte ;o)

EDIT: Also es lag am BOM-Stempel, ich hab jetzt nochmal alle Dateien ohne den Stempel abgespeichert und es funktioniert einwandfrei, Hoffmann hatte mal wieder recht =) Aber vllt könnte mir noch einer die 4 Fehlermeldungen des Validators erklären!

Also ich hab die Seite anhand des Fehlerprotokols vom w3 versucht zu fixen, es zeigt jetzt statt 8 nur noch 4 Fehler an, bei den letzten 4 weis ich nicht genau was der Validator da von mir will. Hab mir die Seite auch mal in Opera angeschaut, da siehts genau so aus wie ich das möchte. Vielleicht sollte man noch dazu sagen das es ein Templatesystem in den Kinderschuhen ist, die Seite besteht jetzt eigentlich aus 4 Seiten:
[ul]index.php[/ul][ul]base.inc.php[/ul][ul]index.html[/ul][ul]style.css[/ul]

In der Index.php steht das drin:

<?php

include('inc/database.inc.php');
include('inc/functions.inc.php');
include('inc/base.inc.php');

$template = get_file_as_string($base['TEMPLATE']);

$template = str_replace($base['TAG_START'].'TITLE'.$base['TAG_END'],$base['TITLE'],$template);
$template = str_replace($base['TAG_START'].'DATE'.$base['TAG_END'],$base['DATE'],$template);

$template = str_replace($base['TAG_START'].'HM_1'.$base['TAG_END'],$base['HM_1'],$template);
$template = str_replace($base['TAG_START'].'HM_2'.$base['TAG_END'],$base['HM_2'],$template);
$template = str_replace($base['TAG_START'].'HM_3'.$base['TAG_END'],$base['HM_3'],$template);
$template = str_replace($base['TAG_START'].'HM_4'.$base['TAG_END'],$base['HM_4'],$template);
$template = str_replace($base['TAG_START'].'HM_5'.$base['TAG_END'],$base['HM_5'],$template);
$template = str_replace($base['TAG_START'].'HM_6'.$base['TAG_END'],$base['HM_6'],$template);

$template = str_replace($base['TAG_START'].'REGISTER'.$base['TAG_END'],$base['REGISTER'],$template);
$template = str_replace($base['TAG_START'].'ONLINESTATUS'.$base['TAG_END'],$base['ONLINESTATUS'],$template);

$template = str_replace($base['TAG_START'].'ACTIONLOG'.$base['TAG_END'],$base['ACTIONLOG'],$template);

echo stripslashes($template);

?>

In der base.inc.php das:

[code]<?php

function get_file_as_string($filename) {
$tmprslt = file($filename);
$tmprslt = implode(’’,$tmprslt);
return $tmprslt;
};

$base[‘TAG_START’] = ‘[+’;
$base[‘TAG_END’] = ‘+]’;

$base[‘TEMPLATE’] = ‘Official_Version_1/index.html’;

$base[‘TITLE’] = ‘The Untitled Project - Eine Community für alle!’;

$base[‘HM_1’] = ‘TEST’;

?>[/code]

Das ist der Teil wo ich denke das da was schief laufen könnte, den mit der Funktion get_file_as_string les ich ja die komplette index.html ein und ersetze die Platzhalter.
Vielleicht schleicht sich da irgendwas mit ein wo dann bei der interpretation der Seite stört wie z.B dieser BOM.

MfG

naja, du hast 2 mal das Element geschlossen und das nicht.

[quote]Byte-Order Mark found in UTF-8 File.[/quote] Ist anscheind doch nicht weg.

XHTML Dokumente fangen immer mit <?xml ... ?> an.

Zu den Fehlern:
Also statt html am Ende des Dokumentes zuzumachen, machst
du erneut body zu - ist natürlich Unfug.
Der Rest dürfte mit dem BOM zusammenhängen, denn bei
einer XHTML-Datei erwartet man zu Beginn entweder die
XML-Verarbeitungsanweisung oder die Angabe des Doctypes
und kein BOM, von dem es da immer noch was zu geben scheint.

Wenn du per PHP andere Dateien einbindest, sollten die ganz
gewiß nicht mit einem BOM beginnen, denn mitten in der
späteren PHP-Ausgabe hat ein BOM garantiert nichts verloren…

Was ich mit dem Konqueror im Quelltext gesehen habe, sah auch
eher nach gleich mehreren BOMs aus, da scheint der Editor
mächtig hingelangt zu haben ;o)

oh verdammt =) danke, ja die gefixten files sind noch nicht hochgeladen^^

EDIT: Die gefixten Files sind jetzt hochgeladen und werden richtig angezeigt =) Danke für eure schnelle Hilfe. Jetzt sind se auch XHTML Valid!