CSS overerving

Pagina: 1
Acties:
  • 138 views sinds 30-01-2008
  • Reageer

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Topicstarter
Ik probeer een tabel te stylen door middel van css. Op zich lukt dit wel aardig ik zit nou alleen met het probleem dat ik voor td elementen een style heb, en dat het soms voor komt dat de parent tr van de td ook een style class heeft. Als dit het geval is dan wil ik dat er een andere kleur gebruikt wordt

Stel ik heb het zo
HTML:
1
2
3
4
<tr class='TrClass'>
    <td class='TdClass'>
    </td>
</tr>


Als ik dan voor de TrClass een Background-color defineer in mijn css file wordt de hele Tr die kleur. Als ik dan echter voor TdClass ook een kleur specificeer dan wordt die kleur gebruikt. Op zich is dat logisch maar ik zou graag willen dat toch de kleur van de TrClass gebruikt wordt.

Nu zou je denken dan zorg je gewoon dat die TdClass niet opgenomen wordt. Maar dat gaat dus niet aangezien de table gegenereerd wordt door een ASP.NET Datagrid. Ik heb daar alle Columns een CssClass meegegeven en ik wil voor de SelectedItem een andere style toepassen dus heb ik die ook een CssClass toegekend. Voor het SelectedItem voegt hij de class echter toe aan de TR en voor de class voor de Column voegt hij hem toe aan het TD element.

Mijn vraag is dus. Kan ik met de style class van de TR de style class van de TD overschrijven?

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

je kunt wel met
code:
1
2
3
.TrClass td.TdClass {
    background: (waarde van TrClass);
}

de waarde aanpassen.

  • André
  • Registratie: Maart 2002
  • Laatst online: 16:16

André

Analytics dude

Sowieso kun je hem met !important overschrijven, alleen kan het ook anders:

code:
1
2
td.TdClass { color: #FFFFFF; }
tr.TrClass td.TdClass { color: #000000; }


Hoe specifieker hoe 'hoger' de regel.

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Topicstarter
Verwijderd schreef op donderdag 15 december 2005 @ 13:06:
je kunt wel met
code:
1
2
3
.TrClass td.TdClass {
    background: (waarde van TrClass);
}

de waarde aanpassen.
thanks hier kan ik weer verder mee.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

wellicht is overerving hier nog mooier:
Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
tr.TrClass {
  background-color: red;
}
td.TdClass {
  background-color: blue;
}
tr.TrClass td.TdClass {
  background-color: inherit;
}

en anders zo:
Cascading Stylesheet:
1
2
3
4
5
6
tr.TrClass td {
  background-color: red;
}
td.TdClass {
  background-color: blue;
}

De 1e is specifieker ;)

anyway: met selectors kan je een hoop doen, daarom is het vaak ook niet noodzakelijk om al je elementen een class te geven...

[ Voor 43% gewijzigd door crisp op 15-12-2005 15:54 ]

Intentionally left blank