Toon posts:

[css] display:inline behavior

Pagina: 1
Acties:

Verwijderd

Topicstarter
Uiterst simpele vraag waar ik een antwoord op zoek;
Als ik het resultaat bekijk van deze code in IE;
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<html>
<head>
<style>

body { margin: 0px; padding: 0px; }

.box
{
    float: left;
    display: inline;
    width: 200px;
    height: 100px;
    background-color: blue;
    margin: 10px 0px 10px 10px;
}

</style>
<title>Jeroen CSS tests</title>
</head>
<body>

    <div class="box"></div>
    <div class="box"></div>

</body>
</html>

... dan zie ik een perfect resultaat.
De margin van de eerste box is netjes 10 aan de bovenkant en 10 aan de linkerkant, ten opzichte van de body. Maar- als ik nu de regel display: inline; weghaal, dan wordt de margin van (alleen de eerste box, niet de tweede?) de eerste box opeens 20.

Is hier een duidelijke (zodat ondergetekende ook nog wat leert) verklaring voor? Ik lijk het gedrag niet te snappen :)

[ Voor 21% gewijzigd door Verwijderd op 03-11-2005 12:29 ]


  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
IE bug, zie http://www.positionisever...lorer/doubled-margin.html

[ Voor 13% gewijzigd door Vinzzz243 op 03-11-2005 12:35 ]


  • noNamer
  • Registratie: Juli 2000
  • Niet online
Om een hoogte en breedte gebruiken op een inline element moet je inline-block gebruiken en niet inline.
Als je er echter inline-block van maakt zal je zien dat internet explorer er weer een soepje van maakt. Dit kan je oplossen door span element ipv div elementen te gebruiken.
Waarom gebruik je overigens float en inline in één?

Maar waarschijnlijk heb je last van het feit dat IE in quirks mode rendered, om IE meer css compliant te maken, begin je html pagina dan met:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
noNamer schreef op donderdag 03 november 2005 @ 12:40:
Om een hoogte en breedte gebruiken op een inline element moet je inline-block gebruiken en niet inline.
Als je er echter inline-block van maakt zal je zien dat internet explorer er weer een soepje van maakt. Dit kan je oplossen door span element ipv div elementen te gebruiken.
Waarom gebruik je overigens float en inline in één?

Maar waarschijnlijk heb je last van het feit dat IE in quirks mode rendered, om IE meer css compliant te maken, begin je html pagina dan met:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
ik volg je reply niet :) dit is toch niet het issue hier? Hij gebruikt float, prima om width en height te gebruiken en de TS vraagt zich af waarom het niet meer werkt als display:inline er niet bij staat...
vandaar: IE BUG :)

  • noNamer
  • Registratie: Juli 2000
  • Niet online
Vinzzz schreef op donderdag 03 november 2005 @ 14:26:
[...]


ik volg je reply niet :) dit is toch niet het issue hier? Hij gebruikt float, prima om width en height te gebruiken en de TS vraagt zich af waarom het niet meer werkt als display:inline er niet bij staat...
vandaar: IE BUG :)
IE BUG is zo kort door de bocht :) (Niet dat het niet zo is hoor)

Maar IE wordt al een stuk minder buggie als men
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
gebruikt. Maar als dit soort nformatie niet gewaardeerd wordt...

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 07:58

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Gewaardeerd vast wel, maar als je er een strict doctype boven knalt blijft deze bug gewoon aanwezig :)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 09:26

crisp

Devver

Pixelated

positioniseverything is gewoon verplicht leesvoer voor iedereen die met CSS layouts aan de gang gaat en tegen problemen aanloopt in IE ;)

noNamer: fyi - Gecko ondersteund ook nog (steeds) geen inline-block. Je hebt gelijk dat het overbodig is, maar het is wel de manier om deze bug in IE (want dat is het gewoon) te 'onderdrukken' - andere browsers zullen deze display-property gewoon negeren aangezien het een floating element is.

Intentionally left blank

Pagina: 1