Jag har ett interaktivt korsord som är uppbyggt av en tabell där rutnätets utseende beror av olika CSS-klasser. Detta funkar fint nästan hela vägen... men tyvärr inte riktigt överallt. En normal vit ruta har CSS-klassen vit, om den vita rutan innehåller en svängande pil, används CSS-klassen turnXY. (Där XY beror på hur den svänger.) När korsorden kollas, jämför jag inskrivna ord mot avsedda från en databas, och om dessa bokstäver inte stämmer får rutan CSS-klassen facit i tillägg till övrig klass. Facit är avsedd att göra texten röd.
Detta funkar fint för vanliga vita rutor, men verkar inte ha någon effekt på svängande sådana?? :q Hur är det möjligt?
Ett exempel för tydlighets skull: (Den feta bokstavens ruta innehåller en svängande pil.)
Inskrivet ord: WALLS
Riktigt ord: JAMES Borde färgats enligt: JAMES
Resulterar i följande korrekta HTML: (Utdrag)
<td id="td_D1" class="vit facit">J</td> == > Röd (Riktigt, ty fel bokstav)
<td id="td_D2" class="vit">A</td> ==> Svart (Riktigt, ty rätt bokstav)
<td id="td_D4" class="turnDF facit">E</td> ==> Svart (FEL, ty fel bokstav)
Se också bifogad bild. (Klasserna blir alltså rätt, men inte färgen i browsern.)
#cw td.facit och #cw td.turnDF har samma "specificitet" och bägge anger textfärg...
Om jag kommer ihåg min CSS rätt så bör fenomenet alltså bero på att #cw td.turnDF ligger "längre ner" i CSS-koden samtidigt som de två har samma "specificitet" (ungefär "vikt")...
Om du sätter en background-color: på .facit händer förmodligen samma sak med den - det blir bakgrundsfärgen för .turnDF som gäller.
Pröva att flytta om reglerna så att #cw td.facit hamnar efter #cw td.turnDF i CSS-koden och se om inte det löser ditt problem (övriga värden i de två är ju lika vad jag kan se ;) )
Ett annat sätt att lösa det här är förmodligen att enbart sätta "color: black" direkt på td, och sedan ange color: bara i de klasser där textfärgen avviker från svart...
Båda de föreslagna lösningarna fungerar och tack vare den utförliga förklaringen har jag kunnat banta min CSS-fil rejält. Numera har td ett eget utseende och alla speciella korsordsvarianter sätter bara den egenskap de ändrar i stället för att varje klass sätter allt.