[HTML/CSS] width und height keine W3C Attribute?

hurga_gonzales

Captain
Registriert
Aug. 2004
Beiträge
3.236
Hi,

mich wundert grad was. Vielleicht kann mich da jemand bestätigen - eventuell verwende ich die Attribute auch falsch.

<span style="width: 200px; height: 200px; background-color: #efefef;">Blaaaaah</span>

Das ergibt in IE eine Inline-Box mit 200px im Quadrat und grauem Hintergrund. Der Firefox ignoriert width und height komplett.

Nun ist meine Frage, ob diese Attribute nur vom IE erkannt werden und es sich dabei nicht um W3C konforme Angaben handelt. Das wäre mir neu, bzw. da hätt' ich wieder was dazugelernt.

Danke und bis dann
Hurga
 
<span> ist ein Inline- und kein Box Element und deswegen macht es keinen Sinn Höhe und Breite zu definieren. Was du willst ist <div>!
 
Alles klar, danke - wollte nur sicher gehen. Der IE (wie immer) versteht width und height in Styles zu einem SPAN.

Danke
Hurga
 
Genau das, was mein Vorredner schon sagte. Ich wollte nur noch ergänzen: Um ein Block-Element als Inline Lement erscheinen zu lassen, verwendet man die CSS-Eigenschaft: float.


Ciao
 
Ach, wenn wir schon grade dabei sind.

Warum macht eigentlich der FF unter mein zwischen zwei DIV Blöcken einen größeren Abstand rein als der IE, der das zweite DIV direkt an das erste anhängt?

Beide Divs sind mit margin-top und margin-bottom 0px eingestellt.

Dank und Grüße
Hurga
 
S.Giny schrieb:
Genau das, was mein Vorredner schon sagte. Ich wollte nur noch ergänzen: Um ein Block-Element als Inline Lement erscheinen zu lassen, verwendet man die CSS-Eigenschaft: float.

das stimm tso nicht. um ein element aus dem fluss zu nehmen, nimm man float. um elementen die block-eigenschaft zu geben oder zu entziehen nimmt man display.
 
Wegen den zwei Div's, hasst du vielleicht noch padding definiert, das kann dir nämlich auch passieren, das es daran liegt
 
HoRnominatoR schrieb:
das stimm tso nicht. um ein element aus dem fluss zu nehmen, nimm man float. um elementen die block-eigenschaft zu geben oder zu entziehen nimmt man display.


Das mag ja sein. Aber einem Inline-Element kann man nun mal keine Höhen und Weiten Angaben zuweisen. Um den von ihm gewünschten Effekt zu erreichen, muss er float verwenden. Denn wenn er dem DIV das display:inline zuweist, ist er bei genau dem gleichen Stand wie vorher auch. Der IE ist naturgemäß wenig streng und interpretiert, was der Designer ihm damit sagen will, der FF nimmt's halt etwas genauer.


Ciao
 
S.Giny schrieb:
Um den von ihm gewünschten Effekt zu erreichen, muss er float verwenden. Denn wenn er dem DIV das display:inline zuweist, ist er bei genau dem gleichen Stand wie vorher auch.

Das ist doch Quatsch.
Der Vorredner meinte bestimmt nicht display:inline; sondern display:block;
Durch float wird ein Element aus dem Fluss genommen - laut Spezifikation wird das Element dabei zwangsweise auch ein Blockelement (display:block);

Anders gesagt: float hat überhaupt nichts damit zu tun ob man einem Element Größenangaben geben kann oder nicht. Dass float Größenangeben ermöglicht ist lediglich ein Nebeneffekt. Entscheidend ist das display:block;
 
Zurück
Oben