Het bekende IE vs FF probleem met CSS
Goedenavond / nacht,
Ik weet dat het wat laat zal zijn om te breinkraken, maar ik ga het toch even voorleggen.
Ik heb een pagina met 2 menu's aan zowel de linker als rechterzijde, alleen in IE is het weer eens verknalt (as usual) Ik kom er niet uit, want wanneer het in IE lukt, is het in FF weer verknalt.
De relevante code:
De html code is nogal veel, dus zal ik hier niet posten. Denk dat het voornamelijk om de CSS gaat. Anders kun je hem altijd nog via de broncode bekijken, mijn excuses voor deze vermoeiende extra klikjes.
Een online voorbeeld: http://monkey.trabot.net/Idle/
Ik weet dat het wat laat zal zijn om te breinkraken, maar ik ga het toch even voorleggen.
Ik heb een pagina met 2 menu's aan zowel de linker als rechterzijde, alleen in IE is het weer eens verknalt (as usual) Ik kom er niet uit, want wanneer het in IE lukt, is het in FF weer verknalt.
De relevante code:
Code (php)
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
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
#menu {
float: left;
width: 15%;
height: 500px;
border-right: 5px solid #0f202f;
}
#news {
float: right;
width: 15%;
height: 486px;
border-left: 5px solid #0f202f;
}
.menuBlock {
display: block;
margin-top: -12px;
margin-left: -40px;
list-style-type: none;
}
.menuTitle {
background-color: #0f202f;
border-bottom: 1px solid #0f101f;
color: #eeee00;
display: block;
cursor: pointer;
font-size: 11px;
font-weight: bold;
margin-left: -5px;
padding: 3px 10px;
text-align: left;
text-decoration: none;
}
a.menuBlock {
background-color: #808f8f;
border-bottom: 1px solid #707f7f;
color: #fff;
display: block;
font-size: 11px;
margin: 0;
padding: 3px 15px;
text-decoration: none;
}
float: left;
width: 15%;
height: 500px;
border-right: 5px solid #0f202f;
}
#news {
float: right;
width: 15%;
height: 486px;
border-left: 5px solid #0f202f;
}
.menuBlock {
display: block;
margin-top: -12px;
margin-left: -40px;
list-style-type: none;
}
.menuTitle {
background-color: #0f202f;
border-bottom: 1px solid #0f101f;
color: #eeee00;
display: block;
cursor: pointer;
font-size: 11px;
font-weight: bold;
margin-left: -5px;
padding: 3px 10px;
text-align: left;
text-decoration: none;
}
a.menuBlock {
background-color: #808f8f;
border-bottom: 1px solid #707f7f;
color: #fff;
display: block;
font-size: 11px;
margin: 0;
padding: 3px 15px;
text-decoration: none;
}
De html code is nogal veel, dus zal ik hier niet posten. Denk dat het voornamelijk om de CSS gaat. Anders kun je hem altijd nog via de broncode bekijken, mijn excuses voor deze vermoeiende extra klikjes.
Een online voorbeeld: http://monkey.trabot.net/Idle/
Die negatieve margin op je menublock class zorgt voor de problemen in IE.
Klopt Jan, daar zit het probleem. Maar in FF doet hij hem anders niet bovenaan uitlijnen, dat komt wss door de ul, dan gaat hij hem inspringen.
Maar zodra ik die weghaal doet hij het dus in FF niet.
Maar zodra ik die weghaal doet hij het dus in FF niet.
Dan kun je beter dit doen voor je ul:
Hmmm, heb dat even geprobeerd, maar daar trapt FF niet in.
text align:left dan?
Hmm, ik heb die margins verwijderd en wat geknutseld, en in FF doet hij dit nu perfect:
In IE doet hij nog steeds witte ruimte tussen de li's. En de border van de news div loopt niet mooi over vanaf de div rechtsboven (klokje). Ook loopt de border van de news div niet door tot de footer.
Edit: De overgang met het klokje heb ik gefixt door de width van percentage naar pixels te vervangen.
Code (php)
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
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
#middle {
height: 500px;
position: relative;
}
#menu {
float: left;
width: 170px;
height: 500px;
border-right: 5px solid #0f202f;
}
#content {
float: center;
height: 500px;
position: absolute;
margin-left: 180px;
}
#news {
float: right;
width: 170px;
height: 500px;
border-left: 5px solid #0f202f;
}
.menuBlock {
display: block;
margin: 0px;
padding: 0px;
list-style-type: none;
}
.menuTitle {
background-color: #0f202f;
border-bottom: 1px solid #0f101f;
color: #eeee00;
display: block;
cursor: pointer;
font-size: 11px;
font-weight: bold;
margin-left: -5px;
padding: 3px 10px;
text-align: left;
text-decoration: none;
list-style-type: none;
}
a.menuBlock {
background-color: #808f8f;
border-bottom: 1px solid #707f7f;
color: #fff;
display: block;
font-size: 11px;
margin: 0;
padding: 3px 15px;
text-decoration: none;
list-style-type: none;
}
height: 500px;
position: relative;
}
#menu {
float: left;
width: 170px;
height: 500px;
border-right: 5px solid #0f202f;
}
#content {
float: center;
height: 500px;
position: absolute;
margin-left: 180px;
}
#news {
float: right;
width: 170px;
height: 500px;
border-left: 5px solid #0f202f;
}
.menuBlock {
display: block;
margin: 0px;
padding: 0px;
list-style-type: none;
}
.menuTitle {
background-color: #0f202f;
border-bottom: 1px solid #0f101f;
color: #eeee00;
display: block;
cursor: pointer;
font-size: 11px;
font-weight: bold;
margin-left: -5px;
padding: 3px 10px;
text-align: left;
text-decoration: none;
list-style-type: none;
}
a.menuBlock {
background-color: #808f8f;
border-bottom: 1px solid #707f7f;
color: #fff;
display: block;
font-size: 11px;
margin: 0;
padding: 3px 15px;
text-decoration: none;
list-style-type: none;
}
In IE doet hij nog steeds witte ruimte tussen de li's. En de border van de news div loopt niet mooi over vanaf de div rechtsboven (klokje). Ook loopt de border van de news div niet door tot de footer.
Edit: De overgang met het klokje heb ik gefixt door de width van percentage naar pixels te vervangen.
Gewijzigd op 01/01/1970 01:00:00 door Steven Hack
negatieve margins werken gewoon goed in IE.
Probeer eens een goede doctype te gebruiken.
Probeer eens een goede doctype te gebruiken.
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
Je kan ook eerst een browsercheck inbouwen waarna hij het goede CSS bestand selecteerd lijkt mij? Deze kan je dan vervolgens met een if en else statement maken:
if als de browser IE is, selecteer je CSS bestand 1
else browser is FF of een andere, selecteer css bestand 2
of praat ik nou complete onzin?
if als de browser IE is, selecteer je CSS bestand 1
else browser is FF of een andere, selecteer css bestand 2
of praat ik nou complete onzin?
Zal eens naar doctype gaan kijken Martijn!. Bedankt.
Justin: Dit is inderdaad mogelijk, maar zo'n check is niet altijd 100% volgens mij.
En ik vind het gewoon professioneler en leuker als het me lukt om 1 code voor beide browsers werkend te krijgen. Ik doe dit tenslotte voor mijn lol ^^
<edit>
Na het doctype er in gezet te hebben werkt alles perfect, harstikke bedankt Martijn! En ook Jan en de rest, alle tips waren nuttig deze keer.
</edit>
Justin: Dit is inderdaad mogelijk, maar zo'n check is niet altijd 100% volgens mij.
En ik vind het gewoon professioneler en leuker als het me lukt om 1 code voor beide browsers werkend te krijgen. Ik doe dit tenslotte voor mijn lol ^^
<edit>
Na het doctype er in gezet te hebben werkt alles perfect, harstikke bedankt Martijn! En ook Jan en de rest, alle tips waren nuttig deze keer.
</edit>
Gewijzigd op 01/01/1970 01:00:00 door Steven Hack




