[CSS] IE6 layout probleem

Pagina: 1
Acties:

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
De situatie:

Ik wil een div met afgeronde hoekjes van vaste breedte en variabele hoogte, met daarin 2 kolommen. Het is niet bekend welke van de 2 kolommen de hoogste is. Boven de linker kolom staat ook nog eens een kop:

Dat ziet er dan in FFen IE7 zo uit (kleuren aangepast ter verduidelijking)

http://www.meneer.net/test/boxtest.html

De bovenste rand is de achtergrond van de kop, de onderste van de container div.

hier is de code:

HTML:
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>asd</title>
        <style type="text/css">
            .box {
                width:730px;
                padding:10px;
                position:relative;
                background:#FF9 url(boxbot.gif) no-repeat bottom;
            }
                        
            div.box h2 {
                position:absolute;
                top:0px;
                left:0px;
                width:750px;
                padding-top:15px;
                background: url(boxtop.gif) no-repeat top;
                margin:0px;
                z-index:2;
            }
            
            div.box h2 span {
                padding-left:10px;
            }
            
            div.box p {
                padding-top:50px;
                width:50%;
                float:left;
                margin:0px;
                z-index:1;
            }
            
            div.box table {
                padding-top:0px;
                width:50%;
                float:left;
                z-index:1;
            }
        </style>
    </head>
    <body>
        <div class="box SectorE">
            <h2><span>Lorem Ipsum Dolor sit amet</span></h2>
            <p>
                <a href="#">Lorem</a>, <a href="#">Ipsum</a>, <a href="#">Dolor</a>, <a href="#">Sit</a>, <a href="#">Amet</a>,<a href="#">Lorem</a>, <a href="#">Ipsum</a>, <a href="#">Dolor</a>, <a href="#">Sit</a>, <a href="#">Amet</a>,<a href="#">Lorem</a>, <a href="#">Ipsum</a>, <a href="#">Dolor</a>, <a href="#">Sit</a>, <a href="#">Amet</a>
            </p>
            <table  border="0" cellspacing="0" cellpadding="0">
                <tr>
                    <th>lorem</th>
                    <th>ipsum</th>
                    <th>dolor</th>
                <th>sit</th>
                </tr>
                <tr>
                    <td>1</td>
                    <td>2</td>
                    <td><a href="#"> amet</a></td>
                    <td>consectueur</td>
                </tr>
                <tr>
                    <td>3</td>
                    <td>4</td>
                    <td><a href="#">adipiscing</a></td>
                    <td>elit</td>
                </tr>
            </table>
            <div style="clear:both"></div>
        </div>
    </body>
</html>


Het probleem is nu, dat in IE6 de kop (H2) onzichtbaar wordt. Dit lijkt me eerder op een bug, maar ik weet het niet zeker. Ik kan altijd terugvallen op het gebruik van een tabel voor de layout, maar ik heb het gevoel dat ik er zo bijna ben, alleen gooit die Ie6 weer roet in het eten...iemand een idee of tip voor een andere aanpak?

[edit]
Nou weet ik wel dat ik met een extra divje bovenin en een extra divje om de h2 en p heen waar dan de float left op zit ook een heel eind kom, maar ik zoek dus naar een CSS oplossing met bovenstaande html. ik vind het al lang jammer dat er onderaan een 'spacer-div' moet staan..(clear-after , waar blijf je ;))

[ Voor 5% gewijzigd door Genoil op 04-04-2007 17:09 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Da's inderdaad een vreemde bug; als ik die table een net iets kleinere width geef dan verschijnt de H2 ineens wel in IE.
Maar door de H2 absoluut te positioneren heb je hier wel een probleem: het linkje 'amet' rechts in je tabel is niet meer klikbaar omdat de H2 daar boven zit dus ik denk dat je toch naar een andere oplossing moet kijken, bijvoorbeeld met een extra wrapper-divje.
Die 'spacer-div' is overbodig, als je je container-element overflow:hidden of overflow:auto geeft dan worden je floats ook automagisch gecleared ;)

Intentionally left blank


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
crisp schreef op woensdag 04 april 2007 @ 18:07:
Da's inderdaad een vreemde bug; als ik die table een net iets kleinere width geef dan verschijnt de H2 ineens wel in IE.
Maar door de H2 absoluut te positioneren heb je hier wel een probleem: het linkje 'amet' rechts in je tabel is niet meer klikbaar omdat de H2 daar boven zit dus ik denk dat je toch naar een andere oplossing moet kijken, bijvoorbeeld met een extra wrapper-divje.
Die 'spacer-div' is overbodig, als je je container-element overflow:hidden of overflow:auto geeft dan worden je floats ook automagisch gecleared ;)
Dankjewel dat je ueberhaupt de moeite hebt genomen er even naar te kijken, zo vervelend als dit soort probleempjes zijn. Bedankt voor de clearing tip, dan ruil ik die mooi in voor een extra containertje :). Ik stop de H2 in een links-floatende div samen met de p en die geef ik de linkerhelft van de bovenkant afbeelding, en de table rechts met de rechterhelft van de afbeelding. Kom ik netto op evenveel elementen uit :)

  • Wacky
  • Registratie: Januari 2000
  • Laatst online: 11-11 20:22

Wacky

Dr. Lektroluv \o/

Klein beetje offtopic, maar voor het afronden van hoeken gebruik ik Nifty Corners. Een javascriptje en een cssje en je kan iedere element ronde hoeken geven:

http://www.html.it/articoli/niftycube/index.html

Nu ook met Flickr account


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Wacky schreef op donderdag 05 april 2007 @ 09:58:
Klein beetje offtopic, maar voor het afronden van hoeken gebruik ik Nifty Corners. Een javascriptje en een cssje en je kan iedere element ronde hoeken geven:

http://www.html.it/articoli/niftycube/index.html
Mja ik zit juist een template met een dergelijk scriptje om te bouwen naar non-js, dat is nl. mijn opdracht...evengoed bedankt!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Genoil schreef op donderdag 05 april 2007 @ 09:53:
[...]
Ik stop de H2 in een links-floatende div samen met de p en die geef ik de linkerhelft van de bovenkant afbeelding, en de table rechts met de rechterhelft van de afbeelding. Kom ik netto op evenveel elementen uit :)
Dat is in dit geval inderdaad een oplossing, maar die is imo weinig generiek. In het geval dat je bijvoorbeeld geen 2 kolommen hebt en ook ronde hoekjes wilt hebben moet je weer hele andere CSS en background-images gaan toepassen. Het gebruik van een extra anonieme container is echt geen doodzonde hoor maar stelt je wel in staat om je markup generiek te houden ongeacht wat je precies in je container-met-ronde-hoekjes wilt stoppen ;)

Intentionally left blank


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
crisp schreef op donderdag 05 april 2007 @ 10:25:
[...]

Dat is in dit geval inderdaad een oplossing, maar die is imo weinig generiek. In het geval dat je bijvoorbeeld geen 2 kolommen hebt en ook ronde hoekjes wilt hebben moet je weer hele andere CSS en background-images gaan toepassen. Het gebruik van een extra anonieme container is echt geen doodzonde hoor maar stelt je wel in staat om je markup generiek te houden ongeacht wat je precies in je container-met-ronde-hoekjes wilt stoppen ;)
Ja dat is waar. In dit specifieke geval ben ik echter vrij zeker van de 2 kolommen. En ik zit met een opdrachtgever die allergisch is voor elk element dat eventueel overvloedig zou kunnen zijn.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Genoil schreef op donderdag 05 april 2007 @ 10:57:
[...]


Ja dat is waar. In dit specifieke geval ben ik echter vrij zeker van de 2 kolommen. En ik zit met een opdrachtgever die allergisch is voor elk element dat eventueel overvloedig zou kunnen zijn.
En waar is die allergie dan op gebaseerd? Uiteindelijk ben jij toch degene met de expertise?

Intentionally left blank


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
crisp schreef op donderdag 05 april 2007 @ 11:47:
[...]

En waar is die allergie dan op gebaseerd? Uiteindelijk ben jij toch degene met de expertise?
no comment. politics ;)
Pagina: 1