Avatar billede zac Nybegynder
08. januar 2006 - 23:35 Der er 4 kommentarer og
1 løsning

Hvordan lave baggrundsfarve i tabel celle? xhtml til Firefox!

Denne CSS:
.tdwidth2 {
background: #ff9900; color: #ff9900;
}

eller: background-color: #ff9900;
- det giver samme resultat

og denne tabelcelles html:
echo "<td width=\"2\" class=\"tdwidth2\">\n"; (i php)

skulle give en orangefarvet baggrund i cellen, som er 2 px bred.

Det gør den også i IE, men ikke i Firefox, hvor den orange farve lige blinker, men forsvinder igen.

Løsningen skal være XHTML1 og CSS acceptabel, og virke i Firefox!
Utroligt, at det skal være så svært :-)
Avatar billede thesurfer Nybegynder
08. januar 2006 - 23:49 #1
Nogen speciel grund til at du ikke også tilføjer bredden i CSS..?

.tdwidth2 {
background:#ff9900;color:#ff9900;width:2px;
}

/theSurfer
Avatar billede zac Nybegynder
09. januar 2006 - 01:12 #2
øh, næh, men den er forskellig fra gang til gang, cellen skal bruges - tilsammen skal der dannes en lodret streg (som jeg nok heller skulle lave med css positionering, det bliver måske også enden på det).

Men det er vel ikke noget krav, at en td skal specificeres mht. højde (eller bredde for den sags skyld).

Jeg har ikke kunnet finde (klart) svar på, hvad xhtml og css tilsammen kræver mht. en baggrundsfarve i en celle i en tabel.
Når jeg sender de forskellige løsninger gennem xhtml validatoren, kommer der lidt forskellige svar - men jeg tror nok, background: #ff9900; color: #ff9900; giver mindst vrøvl. Den kan bare ikke ses i Firefox!
Oprindelig havde jeg en baggrundsfarve plus en 1x1 pixel imagefil med samme farve, men det giver også problemer i Firefox (jf. mit spm. http://www.eksperten.dk/spm/677861)
Avatar billede stich Nybegynder
09. januar 2006 - 04:01 #3
background:#ff9900; er en shorthand-notation for background-color:#ff9900;, dog med den forskel at førstnævnte samtidig sætter de andre background-properties til deres default værdier, da de disse ikke er angivet. Dvs:
    background:#ff9900;
er reelt ækvivalent med
    background-color:#ff9900;
    background-image:none;
    background-repeat:repeat;
    background-attachment:scroll;
    background-position:0% 0%;

color:#ff9900; (som forresten også kan skrives med en shorthand-notation: color:#f90;) angiver derimod forgrundsfarven, hvilket er noget helt andet; den property bliver forresten nedarvet fra parent-elementet. Så background:#ff9900; color:#ff9900; er altså ikke ækvivalent med background-color:#ff9900;. Førstnævnte giver teksten samme farve som baggrundsfarven, hvorfor den altså umiddelbart er usynlig. Se fx det her lille eksempel:
http://test.skalske.dk/backgroundVSforeground.html
- hvor det jo altså også fungerer som forventer, i både IE, Firefox og Opera. Så hvis det er anderledes i det du laver (og det ikke er fordi du i et parent-element har angivet color til at være #ff9900;, således at det er den farve der bliver nedarvet - det kan du jo i så fald overrule ved fx at angive color:#000;), må du hellere lige smide et link.
Avatar billede zac Nybegynder
09. januar 2006 - 10:09 #4
Tusind tak for opklaring, det virker nu.

Hvis man ikke skriver noget i cellen, gør det ingen forskel mht. nedennævnte #first og #second: De giver begge samme farve til cellen og det samme resultat i IE og i Firefox (jeg har så flyttet width og height ud i css, så det er strict xhtml, rigtigt forstået, ikke?):
td#first {
    width: 2px;
    height: 10px;
    background-color:#f90;
    color:#f90;
}
td#second {
    width: 10 px;
    height: 10px;
    background:#f90;
}

<tr>
                <td id="first"></td>
                <td id="second"></td>
</tr>

Det er først, hvis jeg skulle skrive noget i cellen, der er forskel, ellers ikke (!?).
Avatar billede stich Nybegynder
09. januar 2006 - 10:29 #5
Yep, hvis der ikke er tekst i cellen, er color-property'en ganske underordnet.
Og jo, width og height bør være defineret i CSS'en, da det er noget layoutmæssigt.

Godt det fungerer! Tak for points. :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester