• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

CSS für Template: Schönheitsfehler

derweber

Neues Mitglied
Hallo Forum,
ich entwickle gerade ein Template für ein erstes größeres Projekt.

Stand: Demo Erweiterung

HTML-Gerüst:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<meta name="author" content="Markus Weber">
<meta http-equiv="expires" content="Sat, 18 Aug 2012 00:00:00 GMT">
<meta name="robots" content="noindex">

<title>Demo Erweiterung</title>

<link rel="stylesheet" type="text/css" href="stil.css">

</head>

<body>

<div id="wrapper"> <!-- "wrapper" ist ein 800px-Bereich für den Inhalt -->

<div id="titel"> <!-- "titel" Titelbereich  -->
<p>Titel</p>
</div> <!-- schließt "titel" -->

<div id="steuerung"> <!-- "steuerung" Navigationsleiste links -->
<div id="valid"> <!-- Box für W3C-Grafik -->
<ul id="navi">
<li><img src="img/html.png" alt="Valid HTML 4.01 Transitional"></li>
<li><img src="img/vcss.gif" alt="Valid CSS 2.1"></li>
</ul>
</div> <!-- schließt "valid" -->
</div> <!-- schließt "steuerung" -->

<div id="main"> <!-- Hauptbereich für Inhalt -->
<h1>Test</h1>
<p>Test</p>
</div> <!-- schließt "main" -->

<div id="footer"> <!-- "footer" Fußzeile -->
<p class="footfont">&copy; Zuidberg Frontline Systems b.v. &bull; Buitenveld 5 &bull; 8307 DE Ens, Holland</p>
<p class="footfont">Tel 0031 527 253550 - Fax 0031 527 253037 &bull; <a href="mailto:[email protected]">[email protected]</a>  &bull; <a href="http://www.zuidberg.de">www.zuidberg.de</a></p>
</div> <!-- schließt "footer" -->

</div> <!-- schließt "wrapper" -->

</body>

</html>

CSS:
Code:
body {
margin : 0px;
padding : 0px;
background-color : #ffffcc;
}

h1 {
font-family : Helvetica;
font-size : 300%;
color : #fffff0;
border-bottom : thin solid black;
}

p, li {
font-size : 110%;
line-height : 140%;
font-family : Helvetica;
letter-spacing : 0.1em;
word-spacing : 0.3em;
}

#wrapper {
background-color : lightblue;
width : 800px;
margin-top: 0px;
padding-top: 0px;
margin-left : auto;
margin-right : auto;
}

#titel {
margin-top : 0px;
padding-top : 0px;
background-color : red;
width : 800px;
float : left;
padding-left : 20px;
}

#steuerung {
background-color : yellow;
width : 200px;
float : left;
border-right : 1px solid blue;
}

#valid {
padding-top : 600px;
padding-left: 0px;
}

p#valid {
text-align : center;
}

ul#navi li {
list-style : none;
}

#main {
background-color : green;
margin-left : 200px;
width : 600px;
padding-left : 20px;
}

#footer {
background-color : red;
width : 800px;
float : left;
padding-left : 20px;
}

.footfont {
text-align: center;
font-size : 50%;
line-height : 60%;
font-family : Helvetica;
letter-spacing : 0.1em;
word-spacing : 0.3em;
}

Probleme:

  1. Der div "Titel" soll oben am Browser anstehen. Ich finde den CSS-Befehl nicht, der zumindest im IE und im Firefox bewirkt, dass es das nicht tut, sondern ein Abstand entsteht.
  2. Der Bereich "wrapper" ist zum Test auf background-color hellblau gesetzt. verkleinere ich den "main"-Bereich, dann sieht man zwischen dem grünen Bereich und dem gelben Bereich auch den hellblauen Bereich. Ich möchte aber, dass dieser bis zum footer runtergeht. Wie stelle ich das an?
  3. die W3C-Grafiken sollten im gelben Bereich zentriert sein. Sind sie aber nicht. Any ideas?
  4. gibt es eine Möglichkeit zu definieren, dass der Footer so weit runtergesetzt wird, dass die Seite mindestens eine Bildschirmseite füllt? Also bei "zu wenig" Text im "main"-Bereich sitzt der Footer unten am Bildschirm, kommt mehr Text "verlängert" sich die Seite und der Footer verschwindet aus dem Sichtbereich. Also keine absolute Position. Erlaubte Lösungsansätze: HTML, CSS, php.

Danke für eure Hilfe schon vorab!

derweber
 
Der div "Titel" soll oben am Browser anstehen. Ich finde den CSS-Befehl nicht, der zumindest im IE und im Firefox bewirkt, dass es das nicht tut, sondern ein Abstand entsteht.

* {
margin: 0;
padding: 0;


}

gibt es eine Möglichkeit zu definieren, dass der Footer so weit runtergesetzt wird, dass die Seite mindestens eine Bildschirmseite füllt?

min-height: auf den Body.

Was die anderen Fragen betrifft: Clean erstmal den Code, da sind viel zu viele Divs drin. Ich vertstehe auch nicht, warum der Titel eingerückt und gefloatet ist.
 
Hallo Tronjer!

* {
margin: 0;
padding: 0;
}

Wald, Bäume...

Danke!


min-height: auf den Body.

Das ist aber auch eine harte Methode, die einen numerischen Wert, also z.B. 500px; o.ä fordert. Ich suche eher die Funktion "Mindestens Bildschirmhöhe", also Benutzerabhängig.

Was die anderen Fragen betrifft: Clean erstmal den Code, da sind viel zu viele Divs drin. Ich vertstehe auch nicht, warum der Titel eingerückt und gefloatet ist.

Die vielen div-Elemente sind jetzt natürlich oversized. Aber in die einzelnen div-Elemnte kommt viel php. Sie dienen lediglich der Übersicht.

Gruß,
derweber
 
Hallo Tronjer!

Das ist aber auch eine harte Methode, die einen numerischen Wert, also z.B. 500px; o.ä fordert. Ich suche eher die Funktion "Mindestens Bildschirmhöhe", also Benutzerabhängig.

Gruß,
derweber

Das würde z.B. mit jQuery funktionieren. Bildschirmhöhe ermitteln und darauf basierend dem Body eine height zuweisen. Du weisst allerdings nicht, ob der User im Laufe seines Besuchs das Fenster skaliert, und müsstest demzufolge die jQuery Funktion mit setTimeout() ständig neu aufrufen.

Vielleicht ließe sich das auch mit HTML5 Media Queries lösen. Dort gibt es Attribute wie min/max-height, aufgrund derer sich unterschiedliche Stylesheets einbinden lassen.
 
Das würde z.B. mit jQuery funktionieren. Bildschirmhöhe ermitteln und darauf basierend dem Body eine height zuweisen. Du weisst allerdings nicht, ob der User im Laufe seines Besuchs das Fenster skaliert, und müsstest demzufolge die jQuery Funktion mit setTimeout() ständig neu aufrufen.

Hallo Tronjer,
deshalb habe ich oben geschrieben, dass nur php, html und css in Frage kommen. Ich mag kein Javascript. ;-)

Ich habe mir schon gedacht, dass es da keine gute Lösung gibt, aber vielleicht hat ja noch einer eine Idee.

Gruß,
derweber
 
PHP arbeitet serverseitig. Falls du hingegen nach dem Laden der Seite Elemente dynamisch stylen willst, kommst du um JavaScript nicht herum. Dafür wurde es ja geschrieben. Ich fand die Sprache anfangs auch viel unzulänglicher als PHP, finde mich mittlerweile aber einigermaßen darin zurecht. Außerdem gibt es ja noch jQuery, das ist fast so leicht wie CSS zu erlernen.

Seis drum, wenn du partout darauf verzichten, aber trotzdem eine Minimalhöhe deiner Seite halten willst, dann bleiben dir noch die HTML5 Media Queries und das Attribut min-height.
 
Zurück
Oben