[CSS]Probleem met volgorde

Pagina: 1
Acties:

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 26-05 16:31
Stel ik heb dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<style>
div.rood div {
color: red;
}

div.blauw {
color: blue;
}
</style>

<div class="rood">
  <div class="blauw">
  tekst
  </div>
</div>

Welke kleur moet "tekst" dan hebben? Blauw toch? Als ik dit namelijk zo uitprobeer, dan is de tekst rood. Wat ik dus wil vragen, gaat een direct aan een class toegekende waarde niet boven een georven waarde?

[ Voor 21% gewijzigd door Dr_Frickin_Evil op 30-12-2003 16:18 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
.rood div {
color: red;
}

.blauw div {
color: blue;
}

<div class="rood">
  <div class="blauw">
  tekst
  </div>
</div>

Zo bedoel je?

  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 13:38
mis je niet een komma tussen div.rood en div?

  • coubertin119
  • Registratie: Augustus 2002
  • Laatst online: 25-05 19:01
En als je nu
Cascading Stylesheet:
1
2
3
4
5
6
7
div.rood, div {
color: red;
}

div.blauw {
color: blue;
}
doet, en notice de komma, wat geeft dat dan? :)

Of bedoel je alle childs van div.rood? Dan nog zou het blauw moeten zijn, want bij mijn weten gaan specifiek toegewezen classes boven alle niet-specifiek toegewezen stijl-informatie die je toewijst met "div.rood div". Ik had het dus fout.

creative8500, uiteraard staat dat erin en je kan ook *steeds* verwijzen naar de specificaties maar in je moedertaal op een toegepaste wijze iets lezen is nog altijd leuker dan die droge specificaties in het Engels :).

[ Voor 78% gewijzigd door coubertin119 op 30-12-2003 16:28 ]

Skat! Skat! Skat!


  • creative8500
  • Registratie: September 2001
  • Laatst online: 03-01 16:54

creative8500

freedom.

Het staat allemaal in de specificaties. :)

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 26-05 16:31
Ik bedoel dus de childs van div.rood ja. Zoals ik het dus hierboven neergezet heb. Probeer het maar uit, de tekst wordt rood, maar ik dacht eigenlijk dat ie blauw zou moeten worden toch?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

creative8500 schreef op 30 december 2003 @ 16:23:
Het staat allemaal in de specificaties. :)
inderdaad: http://www.w3.org/TR/REC-CSS2/cascade.html#specificity

div.rood div is meer specifiek dan div.blauw en krijgt dus voorrang :)

Intentionally left blank


  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 26-05 16:31
Maf, wist ik niet. Ik vind het ook erg onlogisch.

Want stel nu dit geval:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<style>
div.rood div {
color: red;
}

div.blauw {
color: blue;
}
</style>

<div class="rood">
  <div>tekst1</div>
  <div class="blauw">
  tekst2
  </div>
  <div>tekst3</div>
</div>

Ik wil tekst2 blauw en de andere 2 rood hebben, dat zou dan dus niet kunnen, of wel? Zonder die 1e en de laatste div een aparte class te geven bedoel ik dus.

[ Voor 15% gewijzigd door Dr_Frickin_Evil op 30-12-2003 16:38 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

tuurlijk wel, je kan nog een extra rule opnemen:

Cascading Stylesheet:
1
2
3
div.blauw, div div.blauw {
  color: blue;
}

Intentionally left blank


  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 26-05 16:31
hm dat werkt niet hoor.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Wel hoor, zolang hij maar onder de div.rood div definitie staat - hij heeft nu immers dezelfde specificity. Een ander alternatief is dit:
Cascading Stylesheet:
1
2
3
div.blauw {
  color: blue !important;
}

Intentionally left blank


  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 26-05 16:31
Oke het werkt, toch blijf ik het onlogisch vinden :)

Verwijderd

Dr_Frickin_Evil schreef op 30 december 2003 @ 17:11:
Oke het werkt, toch blijf ik het onlogisch vinden :)
het is juist heel logisch:een specifieke regel overtreft een generieke regel; van regels die even specifiek zijn geldt de laatste. Wat is daar onlogisch aan?
Pagina: 1