[CSS] IE welke bug is dit?

Pagina: 1
Acties:

  • The_DoubleU
  • Registratie: Augustus 2002
  • Laatst online: 11:02

The_DoubleU

Tweaker in München

Topicstarter
Tijdens het weekend heb ik op mijn Mac een website inelkaar geknutseld en alles ziet er prima uit in FF, Opera en Safari.
Vandaag op mijn werk had ik kans om het ook in IE te testen en natuurlijk ziet het er niet uit zoals ik wil.

Er zijn 2 problemen
1e probleem is dat als ik mijn browser venster kleiner maak dat de min-width niet herkent wordt door IE. Hiervoor heb ik dus al een oplossing gevonden, en zal ik later aanpassen.
2e probleem is dat ik een container div heb met daar in een menu div (float) en main div.
De main div begint op dezelfde hoogte als de menu div in elke browser maar niet in IE. Helaas is mijn kennis van CSS alleen goed genoeg om volgens de regels te schrijven en geen idee heb hoe ik dit moet oplossen. Ik heb rond gekeken naar IE hacks, maar ik weet helaas niet wat voor een bug het is, dus ik weet ook niet welke hack ik moet gebruiken.

Dit soort topics zal wel vaker voorkomen en hoef geen complete oplossing, alleen een pointer naar welke bug dit is en welke hack daarvoor gebruikt moet worden.
Alvast bedankt.

De website is http://82.22.253.16/ (voorzichtig, het is maar een thuis server) :)

De html hiervoor (ik heb de php code er uitgehaald maar idee is hetzelfde)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<div id="container">
    <div id="menu">
        <div id="menu_top"><div></div></div>
        <div id="menu_content"><p>Menu</p></div>
        <div id="menu_bottom"><div></div></div>
    </div>

    <div id="main">
        <div id="main_top"><div></div></div>
        <div id="main_content">Content here</div>
        <div id="main_bottom"><div></div></div>
    </div>
</div>


De CSS die ik gebruik
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/* page information */
* {
    margin: 0px;
    padding: 0px;
    border: 0px;
}
html {
    height: 100%; 
    background-color: #ccc;
    color: #000;
} 

body {
    position: relative; 
    width: 90%;
    min-height: 100%; 
    margin: auto;
}

/* Header / menu / main Locatie information */

#header {
    background-color: #39c;
    width: 100%;
    min-width:760px;
}

#container {
    min-width:760px;
    padding-bottom: 60px;
    padding-top: 10px;
    height: 100%;
    background-color: #ccc;
    color: #000;
    }

#menu {
    float: left;
    width: 150px;
    background-color: #39C;
    color: #000;
    margin-right: 10px;
    right: 150px;
}

#main {
    background-color: #39c;
    color: #000;
    margin-left: 160px;
}

.entry {
    margin-top: 5px;
    background-color: #ccc;
}
.title {
    margin-top: 10px;
    background-color: #ccc;
}

/* corner setup */
#header_top div, #menu_top div, #main_top div {
    background: url(/img/tl.png) top left no-repeat;
    width: 100%;
    height: 10px;
}
#header_top, #menu_top, #main_top {
    background: url(/img/tr.png) top right no-repeat;
    width: 100%;
}
#header_bottom div, #menu_bottom div, #main_bottom div {
    background: url(/img/bl.png) bottom left no-repeat;
    width: 100%;
    height: 10px;
}
#header_bottom, #menu_bottom, #main_bottom {
    background: url(/img/br.png) bottom right no-repeat;
    width: 100%;
}
.title_top div, .entry_top div {
    background: url(/img/itl.png) top left no-repeat;
    width: 100%;
    height: 5px;
}
.title_top, .entry_top {
    background: url(/img/itr.png) top right no-repeat;
    width: 100%;
}
.title_bottom div, .entry_bottom div {
    background: url(/img/ibl.png) bottom left no-repeat;
    width: 100%;
    height: 5px;
}
.title_bottom, .entry_bottom {
    background: url(/img/ibr.png) bottom right no-repeat;
    width: 100%;
}





/* Content Info for header / menu / main */
#header_content p {
    text-align: center;
}

#main_content {
    margin: 10px;
}
#menu_content {
    margin-left: 10px;
}
.entry_content, .title_content {
    margin-left: 10px;
}

/* Footer Info */
#footer {
    position: absolute; 
    width:100%;
    bottom: 0;
    left: 0;
    height: 40px;
    color: gray;
}
#footer p {
    text-align: center;
}

  • Skaah
  • Registratie: Juni 2001
  • Niet online
Waarom staan er overal lege elementen? Ik vermoed dat het daar iets mee te maken heeft.

  • Sappie
  • Registratie: September 2000
  • Laatst online: 08-04 10:58

Sappie

De Parasitaire Capaciteit!

Skaah schreef op maandag 13 februari 2006 @ 12:53:
Waarom staan er overal lege elementen? Ik vermoed dat het daar iets mee te maken heeft.
Die lege elementen dienen waarschijnlijk voor de rounded corners.

Naar aanleiding van je omschrijving (heb hier namelijk geen IE) denk ik dat je te maken hebt met het volgende:

http://www.satzansatz.de/cssd/onhavinglayout.html#nextfloat

Om dit probleem te omzeilen zou je bijvoorbeeld voor IE (mbv conditional comments) de main div ook kunnen laten floaten en dan de margin-left uiteraard op 0 zetten.

Specs | Audioscrobbler


  • Justice
  • Registratie: Maart 2001
  • Laatst online: 07-08-2025
kan ook zijn dat de standaardmarges (of padding) van IE gebruikt wordt omdat je deze niet op 0 gezet hebt, dat heb ik wel eens (bijvoorbeeld door een headertag met marge binnen de div te zetten). Je CSS code is een beetje te lang voor me om het helemaal door te lezen :+

[ Voor 17% gewijzigd door Justice op 13-02-2006 13:13 ]

Human Bobby


  • The_DoubleU
  • Registratie: Augustus 2002
  • Laatst online: 11:02

The_DoubleU

Tweaker in München

Topicstarter
@Skaah
Die staan er om die ronde hoekjes te krijgen.
Zie /* Corner Setup */ in de CSS
Ik gebruik dit ook voor de header en die ziet er goed uit.

De main div, begint steeds onder de menu div. Dus als ik de menu langer maak, zakt mijn main div verder naar beneden.

@Sappie, Bedankt ik zal dat eens gaan proberen.

@Justice, Aan het begin van mijn css zet ik alles op nul met
code:
1
2
3
4
5
* {
    margin: 0px;
    padding: 0px;
    border: 0px;
}

[ Voor 29% gewijzigd door The_DoubleU op 13-02-2006 13:17 ]


  • The_DoubleU
  • Registratie: Augustus 2002
  • Laatst online: 11:02

The_DoubleU

Tweaker in München

Topicstarter
Bedankt Sappie!
Heb nu mijn main ook in een float gezet en nu ziet het erwel goed uit.
Heb nu dit toegevoegd aan mijn css, dit lost ook de min-height en min-width problemen die ik had.
Nu zal dit nog wel problemen op leveren voor IE op de Mac, maar elke Mac gebruiker die IE gebruikt verdient het niet om een pagina in een goede layout te zien. :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* IE Fixes here */
/*\*/
* html body {
        height: 100%;
}
* html #header {
        width: 760px;
}
* html #container {
        width: 760px;
}
* html #main {
        float: left;
        margin-left: 10px;
        width: 600px;
}
/**/

  • Sappie
  • Registratie: September 2000
  • Laatst online: 08-04 10:58

Sappie

De Parasitaire Capaciteit!

Toch raad ik je aan in plaats van deze (dubbele) browser hack gebruik te maken van conditional comments. Ten eerste houd je daarmee je CSS valide en ten tweede zou het wellicht toekomstige browsers om zeep kunnen helpen.

Stel bijv.. IE7 ondersteunt bijv ondertussen min-height, maar bevat nog steeds de css parsing bug. (hypothese dus he)

kijk bijv hier: http://www.quirksmode.org/css/condcom.html
edit:
typvout

[ Voor 3% gewijzigd door Sappie op 14-02-2006 08:43 ]

Specs | Audioscrobbler


  • The_DoubleU
  • Registratie: Augustus 2002
  • Laatst online: 11:02

The_DoubleU

Tweaker in München

Topicstarter
Thanks again Sappie!.
Ik heb nu een extra css aangemaakt voor IE die ik oproep met een conditional comment.
Zo langzaam aan, wordt het nog wel wat.
Ik ben er nu alleen achter gekomen dat door de min-width, in IE alles in 760px wordt weer gegeven.
* The_DoubleU gaat weer opzoek naar een oplossing daarvoor :)

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Sappie schreef op maandag 13 februari 2006 @ 16:30:
Stel bijv.. IE7 ondersteund bijv ondertussen min-height, maar bevat nog steeds de css parsing bug. (hypothese dus he)
Op het moment is het in IE7 beta 2 precies andersom ;)

Intentionally left blank


  • Sappie
  • Registratie: September 2000
  • Laatst online: 08-04 10:58

Sappie

De Parasitaire Capaciteit!

crisp schreef op maandag 13 februari 2006 @ 23:28:
Op het moment is het in IE7 beta 2 precies andersom ;)
uberhaupt geen min-height in IE7 dus? ben benieuwd wat de final ons allemaal voor ellende gaat bezorgen dan :)

Specs | Audioscrobbler


  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

Ik denk dat je niet kunt overzien wat de "quirkiness" van IE als resultaat geeft .. ook weer niet met v7. Gaat die nou eigenlijk voldoen aan CSSv3? Uitgebreid "trial and error" bij design is helaas nog steeds het advies (ooh ja topstyle werkt ook nog wel).

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

henkleerssen schreef op dinsdag 14 februari 2006 @ 08:57:
Ik denk dat je niet kunt overzien wat de "quirkiness" van IE als resultaat geeft .. ook weer niet met v7.
Ik heb al uitgebreid zitten testen met de beta versie, en inderdaad zitten er weer weird bugs in...
Gaat die nou eigenlijk voldoen aan CSSv3?
Tsssk, een specificatie die nog niet eens volledig recommendation is implementeren? MS sputterde al toen ze werd verteld dat ze niet CSS 2.0 maar 2.1 moesten nemen (needless to say dat die implementatie ook in IE7 nog niet compleet zal zijn).
Uitgebreid "trial and error" bij design is helaas nog steeds het advies (ooh ja topstyle werkt ook nog wel).
Daar gaat het wel op neerkomen vrees ik, en aangezien de quirks en bugs weer anders zijn dan in IE5 en 6 betekend dat enkel extra werk....

Intentionally left blank

Pagina: 1