CSS in IE, Firefox etc

Hallo zusammen

Ich hab mal wieder das übliche Problem mit der Darstellung von CSS in den verschiedenen Browsern.

Eigentlich dachte ich, ich hätte es hinbekommen, allerdings nur solange im Inhaltsdiv nur wenig Text ist.

Wird es mehr, läuft der Text im FF und Opera über das Div hinaus, wie unter dem Link „Beratung“ zu sehen.

Ergo hab ich mal wieder nen Fehler drin.

HTML- und CSS Datei sind hier zu finden:

http://home.arcor.de/diemaus29/test.html

http://home.arcor.de/diemaus29/test2.css

Wäre schön, wenn sich das mal jemand anschauen könnte.

Außerdem würde mich interessieren, ob man es hinbekommt, dass sich der „News“-Div links automatisch an die Länge des Inhaltsdivs anpasst.
Mir würde jetzt nur einfallen, ihn mit Leerzeichen an die jew. Länge des Inhaltsdivs anzupassen, aber das ist ja nicht der Sinn der Sache :smile:

Gruß
diemaus

Hallo diemaus,

zwei Anmerkungen:

  1. Bei der Gestaltung der Seite würde ich Kopfzeile vom Inhalt und den wiederum von der Fusszeile trennen. D.h.:

Dann sieht deine css-Datei ein wenig einfacher aus, da du die Einträge für die Klasse „links“ zusammenfassen kannst.

  1. Ein float-Element kann keine Höhe von 100% haben. Deshalb benutze ich persönlich ein absolut positioniertes Element, um denselben Effekt zu erreichen. D.h. beim obigen Aufbau würde ich folgende stile definieren:

.content{
padding:0px 0px 0px 15%;
width:75%;
}

.links{
position:absolute;
top:0px;
left:0px;
background:#ffff99;
margin:0px;
height:100%;
width:11%;
border:10px solid white;
border-width:0 10px;
z-index:2;
}

wie du siehst, hat das ganze ein Problem: Da hier absolute Angaben (10px für den Rand der .links-Klasse) und relative (width von .links und padding-left von .content) vermischt werden, kann es durchaus vorkommen (bei kleinen Fenstern), dass der Inhalt der .content-Klasse hinter dem .links-Element verschwindet. Bisher ist es m.W. nicht möglich eine prozentuale border-width anzugeben (wohl vor allem, weil nicht klar wäre auf welche Grösse der Prozentsatz sich bezieht…), deshalb kann man dieses Problem nicht einfach umgehen.

Anbei noch die komplette CSS-Datei, so wie ich sie dir umgebaut habe:

*{
margin:0;
padding:0;
}

body {
background:white;
font:1em „trebuchet ms“, verdana, sans-serif;
text-align:center;
padding:10px;
}

.content{
position:relative;
background:#ffff99;
margin:0;
padding:0px 0px 0px 15%;
width:75%;
text-align:left;
}

#header .content {
height:80px;
}

#body .content{
height:500px;
}

#footer .content {
height:36px;
}

.links {
position:absolute;
top:0px;
left:0px;
background:#ffff99;
margin:0px;
height:100%;
width:11%;
border:10px solid white;
border-width:0 10px;
z-index:2;
}

#header, #body, #footer {
position:relative;
margin:10px 0px 0px 0px;
}

h2 {
color:#000000;
font-size:1.2em;
}

h1 {
position:relative;
color:#000000;
font-size:1.3em;
padding:40px 0 15px 0;
}

h3,h4,h5,h6 {
margin:0 148px 0 0;
}

a:link,a:visited,a:active {
color:#000000;
text-decoration:underline
}

a:hover {
text-decoration:none
}

img {
border:none
}

Gruss, Omar Abo-Namous

Hallo Omar

Ich hab das jetzt mal getestet, im Firefox wird alles richtig interpretiert, im IE und in Opera allerdings nicht.

Bevor ich lange versuche zu erklären, hier nen Screenshot vom IE

http://home.arcor.de/diemaus2/ie.jpg

Ne Idee wie man das ändern kann oder hab ich beim einbauen mIst gemacht?

Gruß
diemaus

Hallo diemaus,

du hast natürlich vollkommen recht (hatte vergessen, das mit dem ie zu überprüfen…).

Muss die Breitenangabe prozentual erfolgen?? Wenn nicht, dann kannst du ein Hintergrundbild erstellen, was die Trennung (also gelb, dann 10px weiss, dann wieder gelb) darstellt. Dann muss der linke Streifen gar nicht 100% gross sein.

Gruss, Omar

Hallo diemaus,

Bevor ich lange versuche zu erklären, hier nen Screenshot vom IE
http://home.arcor.de/diemaus2/ie.jpg

Anmerkung: Beim entwickeln des Layouts in css empfiehlt es sich,
für alle DIV’s

  • je einen Rahmen
  • je eine andere Hintergrundfarbe

anzugeben (style=„background-color:red; border:1px solid black;“).
Viele Probleme sieht man so auf den ersten Blick.
Grüße

CMБ

Hallo,

Anmerkung: Beim entwickeln des Layouts in css empfiehlt es
sich,
für alle DIV’s

  • je einen Rahmen
  • je eine andere Hintergrundfarbe

anzugeben (style=„background-color:red; border:1px solid
black;“).

wobei ein Rahmen auch schon wieder problematisch sein kann, weil IE und Mozilla Rahmen verschieden in einen bzw aussen an einen div setzen.

Greetinx
Christian