[XHTML & CSS] "Anti-Div-Suppe" und padding trotz Bilder?

Renegade

Well-known member
ID: 159167
L
3 August 2006
851
77
Hi (ja ich schon wieder :ugly:),

Ok, fange ich von ganz vorne an:
Wenn ich ein Header Element schaffen will, ohne die berüchtigte "Div-Suppe" zu erstellen, benutze ich am besten das <h1>-Element. Doch was machen, wenn in diesem Header eine Navigation rein soll?
So siehst aus:
Code:
<h1>
  <ul>
    <li></li>
    <li></li>
  </ul>
</h1>
Das ist aber laut W3C nicht erlaubt :-?

Da bleibt mir doch nichts anderes übrig als mit einem div zu arbeiten, oder?
Code:
<div id="header">
  <ul>
    <li></li>
    <li></li>
  </ul>
</div>

Meine zweite Frage:
In diesem Header habe ich mit CSS einen Hintergrund definiert ( background:url(./img/header_bg.jpg) #757575 no-repeat; ) und die Gesamtgröße mit 182px festgelegt. Da der Inhalt erst bei 138px anfangen soll (was ich durch padding angegeben habe) aber der Hintergrund schon bei 0px anfangen soll, habe musste ich die Gesamtgröße auf 44px festlegen.
Klappt wunderbar im FF, der IE streikt :-?
Wie kann ich denn das umgehen?
Hier nochmal der CSS Ausschnitt:
Code:
h1 {
  margin:0;
  padding:138px 0 0 0;
  height:44px;
  width:1000px;
  background:url(./img/header_bg.jpg) #757575 no-repeat;
  font-size:12px;
  font-weight:normal;
  border-bottom:1px #000000 solid;
}

Ich hoffe ihr könnt mir auch diesmal helfen :)
 
Jaja... das typische nachplappern ;) Von einer Div-Suppe redet man wenn man DIVs verwendet obwohl es alternative Elemente gibt. Z.b. eine Div-Suppe wäre sowas:

PHP:
<div class="headline">Blub</div>
<div class="absatz">sdfdn sdsfs sfd sdf <div class="bold">sdf</div>dsfsdffd</div>

Obwohl man es auch so gehen würde:
HTML:
<h1>Blub</h1>
<p>sdfdn sdsfs sfd sdf <b>sdf</b>dsfsdffd</p>

Da es zurzeit noch kein Element gibt was ein Header oder Footer beschreibt ist ein Div an der stelle ok.

Zum Problem mit Padding und IE. Geb in der ersten Zeile ein gültigen Doctyp an, dann verhält sich der IE (6) im bezug aufs Boxenmodel wie Firefox.
 
Hi,

Ok, dann habe ich mal wieder was gelernt :) Danke dir.

Zu dem Doctype:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "https://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Ist dieser etwa nicht gültig? :-?
 
Die <H> Tags sind dazu da um Überschriften nach Rangordnung zu ordnen deswegen ist da innerhalb auch nur Text erlaubt.
 
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "https://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Ist dieser etwa nicht gültig? :-?

Eigentlich schon, hast du aber vielleicht "<?xml version..." noch drüber stehen? Ansonsten teste einfach mal mit nem Doctype von XHTML 1.0, bin kein Fan von XHTML 1.1 von daher weiß ich nicht wirklich wie sich der IE damit verhält.
 
Hi,

Ja, ich hatte "<?xml ... " drüber stehen, ohne klappt es wunderbar. Aber wieso nicht mit?
 
Hi,

Ja, ich hatte "<?xml ... " drüber stehen, ohne klappt es wunderbar. Aber wieso nicht mit?

Weil der IE den Doctyp in der ersten Zeile erwartet, ansonsten schaltet er in den Quirk-Modus wo er das Boxenmodel so umsetzt wie sich das Microsoft denkt und nicht wie der Standard es vorschreibt. (Wobei ich das Model von Microsoft besser und praxis orientierter finde, ist aber falsch)