[CSS] von Mozilla, Links und width-Angaben

Nase

Lieutenant
Dabei seit
Jan. 2004
Beiträge
587
Hallo,

warum geht solch ein Code nicht mit Mozilla/Firebird?

Code:
.menu_c:link, .menu_c:visited {
	background-color: #DEE8EC;
	border-left: 5px #a5b8c3 solid;
	color: #4e6572;
	padding-left: 10px;
	text-decoration: none;
	width: 180px;
}

.menu_c:hover, .menu_c:active {
	background-color: #a5b8c3;
	border-left: 5px #4e6572 solid;
	color: #ffffff;
	padding-left: 10px;
	text-decoration: none;
	width: 180px;
}
Das Problem besteht darin, dass die Links nicht die Breite von 180px bekommen. IE und Opera haben damit keine Schwierigkeiten. Kann es sein, dass solch eine Deklaration nicht regelkonform ist?
 

CrazyWolf

Lt. Commander
Dabei seit
Jan. 2004
Beiträge
1.735
hmm ich hab auch noch nie gesehen dass man links eine breite zuweisen kann. Bei Tabellen ja, aber links? Wie sieht das Ergebnis denn beim IE aus?
 

Nase

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2004
Beiträge
587
Sieht aus wie ein Div mit Text drin, nur dass, wenn man mit der Maus drüber geht, die Hintergrundfarbe wechselt, und das ganze anklickbar ist.
 

Anhänge

Zuletzt bearbeitet:

The Prophet

Rear Admiral
Dabei seit
Aug. 2001
Beiträge
5.981
Stell mal ne Bsp. Datei Online hab gerade keine Lust das selber zu machen um es zu testen :), interessieren tut es mich auch....
 

Steffen

Technische Leitung
Teammitglied
Dabei seit
März 2001
Beiträge
14.092
Links (a-Tags) sind per Default Inline- und keine Block-Elemente (wie z.B. div-Tags). Deshalb musst du die Eigenschaft "display:block" setzen, dann wendet Mozilla auch die Breite korrekt an. :)
 

The Prophet

Rear Admiral
Dabei seit
Aug. 2001
Beiträge
5.981
Mal wieder was gelernt :) Funktioniert nun in Firefox, IE, Mozilla, Opera und Co...
 

Nase

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2004
Beiträge
587
Nur merk ich gerade noch einen anderen Fehler von Mozilla (oder von den anderen Browsern?). Bei Mozilla ist ein Link mit den oben angegebenen Attributen nicht 180px breit, sondern 195px (180px width + 5px border-left + 10px padding-left?). Wer hat nun Recht? Und wie kann man das umgehen?
 
Zuletzt bearbeitet:

Loopo

Admiral
Dabei seit
Juli 2002
Beiträge
7.610
das Objekt müsste eigentlich dann 185 px breit sein, es sei denn Objekte darin sind zu groß ... :rolleyes:
 

Steffen

Technische Leitung
Teammitglied
Dabei seit
März 2001
Beiträge
14.092
Wie die Browser den HTML-Code interpretieren, legst du per Doctype fest. Im standardkonformen Modus ist die Breite eines Elements definiert als die Breite des Inhalts ohne Padding, Border und Margin! Im Quirks-Modus sind Broder und Padding jedoch in der Breite enthalten. Siehe dazu: http://jessey.net/simon/articles/003.html

Wenn du also einen Doctype wie z.B.
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
als erste Zeile in deiner HTML-Datei platzierst, verhalten sich alle Browser korrekt (Ausnahme IE < 6.0).
 

Nase

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2004
Beiträge
587
Und nochmal, besten Dank, funktioniert. Allerdings genau entgegen deiner Beschreibung.
 

Nase

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2004
Beiträge
587
Wenn ich dich aber richtig verstanden habe, dann wird der Standard-Modus nur erreicht, wenn man ein Doctype angibt. Im Standard-Modus werden Padding, Border etc. nicht mitgewertet.
Jetzt hab ich aber hier nun ein Doctype eingefügt, und nun verhält sich die Seite in allen Browsern so, wie anfangs im Mozilla. Also so, dass Border, Padding mitgezählt werden.
 

PuppetMaster

Admiral
Dabei seit
Sep. 2001
Beiträge
8.206
Standard-Modus (also mit Doctype): Deine Breitenangabe definiert nur den Inhalt, dazu(!) kommen dann Padding, Border und Margin.
Ist schon richtig so.
 

Nase

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2004
Beiträge
587
Auf jedenfall funktioniet jetzt nun alles. Noch mal besten Dank an alle die mir geholfen haben.
 

Steffen

Technische Leitung
Teammitglied
Dabei seit
März 2001
Beiträge
14.092
Das kommt drauf an, welchen Doctype du setzt. Bei ein paar Doctypes aktivieren die Browser trotzdem den Quirks-Mode. Bei welchen das der Fall ist, siehst du in der Tabelle unten auf einer Seite, die ich in einem früheren Beitrag verlinkt habe.
 

Nase

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2004
Beiträge
587
Zitat von Steffen:
Das kommt drauf an, welchen Doctype du setzt. Bei ein paar Doctypes aktivieren die Browser trotzdem den Quirks-Mode. Bei welchen das der Fall ist, siehst du in der Tabelle unten auf einer Seite, die ich in einem früheren Beitrag verlinkt habe.
Hab mir das nochmal durchgelesen, benutze jetzt HTML 4.01 Strict und nicht mehr Transitional. Hat aber nicht verändert, da meine Seite auch in diesem Modus keine Fehler beinhaltet :).
 
Top