Hoofdcategorieën
Topicacties

CSS probleem met child selector*

Pagina: 1

Reageer Nieuw Topic
Ik ben bezig aan een nieuwe site en op aanraden van een aantal personen heb ik mijn menu in een list gegoten wat wel voor een paar grote problemen zorgt. Ik heb het duidelijk gemaakt aan de hand van plaatjes.

http://users.telenet.be/esoteric/upload/ff.gif
Zo ziet het er uit in firefox, en zo moet het er ook uitzien.
Dit krijg ik in Internet Explorer:
http://users.telenet.be/esoteric/upload/ie.gif
Een groot verschil dus.

Hiermee zijn jullie weinig dus hier is de code

html:

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
      <div id="menu">      
        <div class="title nastyOrangeTitle">
          Informatie
        </div>   
        <div class="content nastyOrange">
          <ul>
            <li class="menu">Geplaatst door: <a href="profile.php?id=1" class="black">Gert-Jan</a></li>
            <li class="menu">Timestamp: 09.12.05 18:40</li>

            <li class="menu">Categorie: <a href="blog.php?cat=5" class="beige2orange">Mircosoft</a></li>
            <li class="menu">Dossier: <a href="blog.php?file=3" class="beige2orange">Internet Explorer 7</a></li>
          </ul>
        </div>  
        <br>     
        <div class="title greyTitle">
          Recente blogs
        </div>   
        <div class="content grey">

          <ul>
            <li>» <a href="index.php?id=7" title="09.12.05 18:40 - Internet Explorer 7 gaat RSS-icoon Firefox gebruiken" class="beige2orange">Internet Explorer 7 gaat..</a></li>
            <li>» <a href="index.php?id=6" title="02.03.06 18:44 - Microsoft geeft ontwikkelaars vooruitblik op Direct3D 10" class="beige2orange">Microsoft geeft ontwikke..</a></li>
            <li>» <a href="index.php?id=5" title="25.12.05 18:36 - Microsoft haalt graphics uit Windows-kernel" class="beige2orange">Microsoft haalt graphics..</a></li>
            <li>» <a href="index.php?id=4" title="20.12.05 05:15 - Wellicht volgend jaar draadloze iPod" class="beige2orange">Wellicht volgend jaar dr..</a></li>

            <li>» <a href="index.php?id=3" title="15.12.05 16:55 - Bčta Exchange 12 voegt 'Unified Messaging' toe" class="beige2orange">Bčta Exchange 12 voegt '..</a></li>
            <li>» <a href="index.php?id=2" title="15.12.05 14:08 - 'Slechte omstandigheden bij leveranciers Acer en Fujitsu'" class="beige2orange">'Slechte omstandigheden ..</a></li>
            <li>» <a href="index.php?id=1" title="15.12.05 14:08 - Europarlement gaat akkoord met bewaarplicht" class="beige2orange">Europarlement gaat akkoo..</a></li>
          </ul>
        </div>  
        <br> 
      </div>

css:
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
  #menu > div > ul {

    margin: 0px;
    padding: 0px; 
    list-style: none; 
        
  }

  #menu > div > li { float: left; }

  }  
  
  #menu { 
  
    top: 130px;
    left: 30px;
    position: absolute;
    z-index: 200;    
    width: 180px;
    height: 100%;             
    text-align: center;
    
  }
  
  #menu div.title {
  
    width: 100%;
    border: 1px solid;
    padding: 2px 5px 2px 5px; 
    font-weight: bold; 
    text-align: left;
  
  }
  
  #menu div.content {
  
    width: 100%;
    border-style: solid;
    border-width: 0px 1px 1px 1px;
    padding: 2px 5px 2px 5px;
    font-weight: normal; 
    text-align: left;
    color: #837759;
  
  }



Ik heb al wat geprobeerd. Hiervoor was mijn resultaat namelijk nog slechter. Ik heb ook geprobeerd die > weg te laten bij de #menu css maar dan zijn men content boxes leeg dan krijg ik dit in firefox

http://users.telenet.be/esoteric/upload/ff2.gif

en dit in IE

http://users.telenet.be/esoteric/upload/ie2.gif

Hoe kan ik dit oplossen want ik geraakt er echt niet uit.
 
Je zult toch echt die > weg moeten laten, IE kan daar niet mee omgaan. Gebruik op de juiste plek classes ;)
Berichten: 1.970
Reg. datum: 16 september 2001

Ik snap niet waarom je een float op de <li>-elementen hebt. Verder je list-style-type nog instellen.e: sry.. /e 2e methode werkt misschien dan wel, anders een clear:both; op je <ul>?

r0bert wijzigde dit bericht 18-12-2005 23:07 (11%)

 
Ja Ja...

Het ziet er m.i. complex uit, een vreemde opzet om li's en de a's weer classes mee te geven terwijl je dit ook in de CSS simpel kan ondervangen.

Canon 5DMKII + een berg lenzen. richardbakker.com

Berichten: 409
Reg. datum: 19 november 2004

Bij mij werkt het wel in FF en IE als ik dit weghaal:
code:
1
2
3
4
5
6
#menu > div > ul {
    margin: 0px;
    padding: 0px; 
    list-style: none; 
  }
  #menu > div > li { float: left; }
  }

(overigens dubbel sluitingsteken!), en in plaats daarvan gebruik maak van:
code:
1
2
3
4
#menu div ul {
    margin: 0px;
    padding: 0px; 
    list-style: none; 
}

Overigens gebruik ik wel altijd <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> (lees 'Activating the right layout mode using the doctype declaration' waarom het doctype zo belangrijk is).

Cogito ergo dubito

Berichten: 565
Reg. datum: 02 juli 2004

Hoewel je problemen niet uniek zijn, had ik vanmorgen toch zin in een puzzeltje.

Ik heb eerst je HTML-code wat opgeschoont door alle overbodige classes en divs te verwijderen. Je ziet meteen al in Firefox met de stijl uitgeschakeld (Beeld > Paginastijl > Geen stijl) dat de code stukken netter is. Verder alles netjes uitgelijnd, zodat je je fouten ook eerder ziet.

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
<div id="menu01">      
    <h3>Informatie</h3>   
    <ul>
        <li>
            Geplaatst door:
            <a href="profile.php?id=1">Gert-Jan</a>
        </li>
        <li>
            Timestamp: 09.12.05 18:40
        </li>
        <li>
            Categorie: 
            <a href="blog.php?cat=5">Mircosoft</a>
        </li>
        <li>
            Dossier: 
            <a href="blog.php?file=3">Internet Explorer 7</a>
        </li>
    </ul>
</div>
<div id="menu02">   
    <h3>Recente blogs</h3>
    <ul>
        <li>
            <a href="index.php?id=7" title="09.12.05 18:40 - Internet Explorer 7 gaat RSS-icoon Firefox gebruiken">Internet Explorer 7 gaat..</a>
        </li>
        <li>
            <a href="index.php?id=6" title="02.03.06 18:44 - Microsoft geeft ontwikkelaars vooruitblik op Direct3D 10">Microsoft geeft ontwikke..</a>
        </li>
        <li>
            <a href="index.php?id=5" title="25.12.05 18:36 - Microsoft haalt graphics uit Windows-kernel">Microsoft haalt graphics..</a>
        </li>
        <li>
            <a href="index.php?id=4" title="20.12.05 05:15 - Wellicht volgend jaar draadloze iPod">Wellicht volgend jaar dr..</a>
        </li>
        <li>
            <a href="index.php?id=3" title="15.12.05 16:55 - Bčta Exchange 12 voegt 'Unified Messaging' toe">Bčta Exchange 12 voegt '..</a>
        </li>
        <li>
            <a href="index.php?id=2" title="15.12.05 14:08 - 'Slechte omstandigheden bij leveranciers Acer en Fujitsu'">'Slechte omstandigheden ..</a>
        </li>
        <li>
            <a href="index.php?id=1" title="15.12.05 14:08 - Europarlement gaat akkoord met bewaarplicht">Europarlement gaat akkoo..</a>
        </li>
    </ul>
</div>

Ok, dat is al een goed begin, nu dus de stijlsheet. Ook daarin niet meer dan noodzakelijk. Je hoeft geen lastige childselectors te gebruiken. ook daarin weer netjes de code uitlijnen. Zo staat in de css die jij postte 2x '{' achter elkaar, wat tot fouten kan leiden.
Cascading Stylesheet:
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
#menu01, #menu02 {
    width180px;
    font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
    font-size11px;
}

#menu01 ul, #menu02 ul {
    margin0px;
    margin-bottom25px;
    padding0px
    list-stylenone
    background-colorSilver;
    border1px solid Black;
}

#menu01 h3, #menu02 h3 {
    margin0px;
    padding5px
    list-stylenone
    background-colorGray;
    colorWhite;
    border1px solid Black;
    border-bottom0 none;
    font-size13px;
}

#menu01 li, #menu02 li {
    margin5px;
}

#menu01 a, #menu02 a {
    text-decorationnone;
}

#menu01 a:hover, #menu02 a:hover {
    text-decorationnone;
    colorRed;
}

Volgens mij heb je nu wat jij bedoelt. Overigens zijn er op dit gebied tal van tutorials. Zoek maar eens goed!
 
bedankt het probleem is opgelost.
 
( o Y o )
Berichten: 23.559
Reg. datum: 08 juni 2000

Ik hoop dat je het advies van ZeilDude van harte neemt en je er een beetje in gaat verdiepen. Leer je er ook nog van :)

Girls with an ass like this, don't talk to guys with a face like that.
You've moved up on my notch-list. You now have 1 notch...
I have a black belt in Kung Flu!

Ik zou in plaats van #menu01, #menu02 een class gebruiken. Dat scheelt nogal in typwerk als je meer menu's hebt. :)
Berichten: 565
Reg. datum: 02 juli 2004

quote:
SuperRembo schreef op dinsdag 20 december 2005 @ 07:51:
Ik zou in plaats van #menu01, #menu02 een class gebruiken. Dat scheelt nogal in typwerk als je meer menu's hebt. :)


Had ik gedaan, omdat hij de menu's anders wilde vormgeven. Als ze hetzelfde zijn, kun je inderdaad beter een class dan een id gebruiken.

quote:
xchng schreef op maandag 19 december 2005 @ 19:54:
bedankt het probleem is opgelost.
Toon je site eens dan...

ZeilDude wijzigde dit bericht 20-12-2005 08:45 (21%)

 
quote:
ZeilDude schreef op dinsdag 20 december 2005 @ 08:41:
Had ik gedaan, omdat hij de menu's anders wilde vormgeven. Als ze hetzelfde zijn, kun je inderdaad beter een class dan een id gebruiken.
Dan zou ik nog steeds als basis een menu class gebruiken. Dan kan je als nog per menu op id een aantal dingen overrulen.
Berichten: 565
Reg. datum: 02 juli 2004

quote:
SuperRembo schreef op dinsdag 20 december 2005 @ 08:55:
[...]


Dan zou ik nog steeds als basis een menu class gebruiken. Dan kan je als nog per menu op id een aantal dingen overrulen.
Dus per tag een id én een class? Gaat dat wel lekker met oude browsers?
 
T E C H N O C H I C K E N

Daarvoor is de update knop.
Je moet wel met verschillende browsers / w3c rekening houden, niet met oude browsers die de helft niet kunnen IMHO.

(\__/)
(='.'=) This is Bunny. Copy and paste Bunny into your
(")_(") signature to help him gain world domination.

( o Y o )
Berichten: 23.559
Reg. datum: 08 juni 2000

quote:
ZeilDude schreef op dinsdag 20 december 2005 @ 08:57:
[...]


Dus per tag een id én een class? Gaat dat wel lekker met oude browsers?

Welke oude browsers? ;)

Overigens is het natuurlijk niet de bedoeling om elke tag een class en / of id te geven ;)

Lees ook eens een verhaal van Mophor @ http://www.rikkertkoppes.com/thoughts/class-and-style

Girls with an ass like this, don't talk to guys with a face like that.
You've moved up on my notch-list. You now have 1 notch...
I have a black belt in Kung Flu!

Pagina: 1



VNU Media logo Hosted by True

© 1998 - 2010 Tweakers.net - Alle rechten voorbehouden - Uw Privacy - Algemene Voorwaarden

Uitgever van:

Website van het jaar 2009