Links gehen nicht über die ganze breite
Casper Vollenweider
- css
Hallo
Ich habe mittels "float:left" und "display:block" links zu einer Menuleiste in einem <div> zusammengefasst. Nur leider wollen die Blöcke, in FireFox und Konqueror jedenfalls, nicht die angestrebten 660px breite annehmen.
Wieso nicht?
Oder geht das so gar nicht?
Ich möchte hier versuchen ein Design zu entwerfen und bin noch ganz am Anfang. daher braucht ihr mir also nix über schlechte Farbwahl oder ähnliches zu sagen, mir ist vollkommen klar das das noch massiv geändert werden muss.
Gruß
Casper
Ich habe mittels "float:left" und "display:block" links zu einer Menuleiste in einem <div> zusammengefasst. Nur leider wollen die Blöcke, in FireFox und Konqueror jedenfalls, nicht die angestrebten 660px breite annehmen.
Wieso nicht?
Weil Du nicht gemessen hast. Die Blöcke banner und menu sind genau 660 Pixel breit. Der "Fehler", den Du siehst, ist beim Block cont, denn der hat statt 660 690 Pixel Breite.
Die Ursache ist bei der padding-Eigenschaft zu suchen (und in Deinem Fall vermutlich einem altbekannten Fehler im IE). padding kennzeichnet den Innenabstand, den Bereich zwischen Inhalt und Umrandung (border). Dieser Bereich wird, im Gegensatz zum Außenabstand margin, mit der Hintergrundfarbe gefüllt.
Der Punkt ist, dass padding, border und margin _nicht_ Bestandteil der Breite width sind. width gibt also sozusagen die Innenbreite an, die (nicht angebbare) Außenbreite berechnet sich aus width + padding + border + margin. Und Dein Problem ist wohl, dass der IE bis vor einigen Jahren eben dieses falsch berechnet hat, width statt für die Innenbreite für die Außenbreite benutzte. Dieser Fehler ist aber schon seit Urzeiten behoben.
Abhilfe: Für cont width auf 630px setzen, padding bei 15px belassen und ein Update für den IE besorgen.
daher braucht ihr mir also nix über schlechte Farbwahl
Schwarz ist keine Farbe.
Abhilfe: Für cont width auf 630px setzen, padding bei 15px belassen und ein Update für den IE besorgen.
Und das hilft??
Andere Abhilfe: Lass die XML-Deklaration weg.
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Wenn der Doctype in der 1. Zeile steht, sollte auch der IE es richtig machen. https://forum.selfhtml.org/?t=89796&m=537363
Gunnar
Andere Abhilfe: Lass die XML-Deklaration weg.
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Ja, stimmt.
Wieso wird das überhaupt gemacht? Der Validator befindet es scheinbar auch ohne für Valid.
Gruß
Casper
Hallo,
Andere Abhilfe: Lass die XML-Deklaration weg.
Ja, stimmt.
Wieso wird das überhaupt gemacht? Der Validator befindet es scheinbar auch ohne für Valid.
Welcher Validator?
Der HTML-Validator ja, der validiert XHTML als HTML. Ein XML-Validator müsste einen Fehler melden.
XHTML ist beides. Für Browser ist es HTML, für XML-Parser kann es XML sein. Da Du sicherlich hauptsächlich für Browser schreibst, ist es für Dich eher HTML als XML.
viele Grüße
Axel
Hi,
Wenn der Doctype in der 1. Zeile steht, sollte auch der IE es richtig machen. https://forum.selfhtml.org/?t=89796&m=537363
ja - aber nur der IE6. Wenn man die 5er berücksichtigen will, hilft das überhaupt nicht.
freundliche Grüße
Ingo
Hallo
Abhilfe: Für cont width auf 630px setzen, padding bei 15px belassen und ein Update für den IE besorgen.
Ich hab die Seite noch gar nicht mit dem IE getestet.
Der Fehler war wohl eher in meinem Kopf. Ich wusste einfach nicht das ein padding zu width dazu gezählt wird. Ich dachte bis jetzt immer das With die breite macht, und dann padding substrahiert wird. Außerdem hab ich jetzt gerade noch bemerkt das border addiert wird.
Schwarz ist keine Farbe.
Ja da hast du recht. Aber ich glaube du weist schon was ich meine (Kontrast in .cont).
Vielen Dank für deine Hilfe
Gruss
Casper