[CSS] Style Sheet funktioniert nur unter HTML Transitional

Zweipunktnull

Commander
Registriert
Dez. 2004
Beiträge
2.546
Hallo!

Ich wollte für meine Homepage ein neues Style Sheet schreiben.
Mein Problem ist folgendes: Das Style Sheet funktioniert nur unter HTML Transitional richtig, unter bspw. XHTML funktioniert es nicht richtig. Leider hab ich meine Homepage aber in XHTML geschrieben.
Hier mal der Code vom Style Sheet:
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Cascading Style Sheet</title>
<style type="text/css">

html {
 background-color : #ffff99;
 }

body {
 width : 75%;
 height : 100%;
 margin : auto;
 background-color : #ffff99;
 }

div#box1 {
 width : 98%;
 height : 13%;
 padding : 1%;
 background-color : #ff9900;
 }

div#box2 {
 width : 23%;
 height : 33%;
 float : left;
 margin-top : 1%;
 padding : 1%;
 background-color : #ffcc00;
 }

div#box3 {
 width : 73%;
 height : auto;
 margin-left : 20%;
 padding-top : 1%;
 padding-right : 1%;
 padding-bottom : 1%;
 padding-left : 6%;
 background-color : #00cc00;
 }

div#box4 {
 width : 73 %;
 height : 70%;
 margin-left : 20%;
 padding-top : 1%;
 padding-right : 1%;
 padding-bottom : 1%;
 padding-left : 6%;
 background-color : #ffffcc;
 }

div#box5 {
 width : 98%;
 height : auto;
 padding : 1%;
 background-color : #ff9900;
 }

</style>
</head>
<body>

<div id="box1">Box 1</div>

<div id="box2">Box 2</div>

<div id="box3">Box 3</div>

<div id="box4">Box 4</div>

<div id="box5">Box 5</div>

</body>
</html>

Wenn man oben jetzt <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> statt <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> einsetzt, dann funktioniert es nicht richtig. (soweit ich als ein anfänger das beurteilen kann, werden einfach alle height befehle ignoriert. sonst geht alles.)
Wo ist der Fehler?
mfg
Valentin
 
Zuletzt bearbeitet:
1) Bedenke, dass du XHTML 1.1 auch als application/xhtml+xml ausliefern musst. Ansonsten verwende XHTML 1.0 Strict, um bei text/html zu bleiben.

2) Die Höhe bekommst du in den Griff, indem du dem übergeordneten Element html eine Angabe height:100% zuweist.
 
Zuletzt bearbeitet: (Schlechtschreibung)
Hi,

Deine Doctype Declaration für HTML ist falsch.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

Dann klappt's in der Regel auch.

Schüss
Hurga
 
Ähmm, das Beispiel funktioniert eben nicht, wenn ein korrekter Doctype verwendet wird. ;)
 
So hier mal der Code; so sollte es auch mit dem XHTML klappen ;)

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
<head>
  <title>Cascading Style Sheet</title>
  <style type="text/css">
  <!--
     body {
       width: 75%;
       height: 500px;
       margin: auto;
       background-color: #ffff99;
     } 
     div#box1 {
       width: 98%;
       height: 13%;
       padding: 1%;
       background-color: #ff9900;
     }
     div#box2 {
       width: 23%;
       height: 33%;
       float: left;
       margin-top: 1%;
       padding: 1%;
       background-color : #ffcc00;
    }
    div#box3 {
      width: 73%;
      height: auto;
      margin-left: 20%;
      padding-top: 1%;
      padding-right: 1%;
      padding-bottom: 1%;
      padding-left: 6%;
      background-color: #00cc00;
    }
   div#box4 {
     width: 73 %;
     height: 70%;
     margin-left: 20%;
     padding-top: 1%;
     padding-right: 1%;
     padding-bottom: 1%;
     padding-left: 6%;
     background-color: #ffffcc;
   } 
   div#box5 {
     width: 98%;
     height: auto;
     padding: 1%;
     background-color: #ff9900;
   }
 
  --> 
 </style>
</head>

<body>
  <div id="box1">Box 1</div>
  <div id="box2">Box 2</div>
  <div id="box3">Box 3</div>
  <div id="box4">Box 4</div>
  <div id="box5">Box 5</div>
</body>

</html>
 
Zuletzt bearbeitet:
Hm... also ich hab jetzt einfach mal dem Element html die Angabe "height : 100%;" zugewiesen. Jetzt geht alles so wie ich's haben wollte.
 
Zurück
Oben