Firefox och webfärger

Tråden skapades och har fått 8 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Lund
  • 2005-03-31 13:38

Jag upptäckte igår till mitt stora förtret att Firefox inte klarar att visa färger som man anger med 3-ställig hexkod (ex. #f00 istället för #ff0000), utan istället visar svart!

Hur kan denna annars så vassa webläsare missa något så banalt? Finns det någon bra lösning på detta? (d.v.s. inte att ändra till 6-ställig hexkod).

Det handlar i detta fall om <body bgcolor="#f00"> om det spelar någon roll. Jag vet att det funkar om man ställer in det i ett stylesheet, men det måste ju kunna funka direkt i html också. T.o.m. gamla MSIE5 klarar ju det!

:rolleyes:

  • Medlem
  • Karlstad
  • 2005-03-31 14:18
Ursprungligen av hugin:

Jag upptäckte igår till mitt stora förtret att Firefox inte klarar att visa färger som man anger med 3-ställig hexkod (ex. #f00 istället för #ff0000), utan istället visar svart!

Hur kan denna annars så vassa webläsare missa något så banalt? Finns det någon bra lösning på detta? (d.v.s. inte att ändra till 6-ställig hexkod).

Det handlar i detta fall om <body bgcolor="#f00"> om det spelar någon roll. Jag vet att det funkar om man ställer in det i ett stylesheet, men det måste ju kunna funka direkt i html också. T.o.m. gamla MSIE5 klarar ju det!

:rolleyes:

Bakgrundsfärg direkt i body-taggen är "deprecated" (va fan blir det på svenska? "Ogiltigförklarat"?). Så FF håller sig till standarden. Att man däremot fortfarande "tillåter" rgb, färgnamn och sexsiffrigt binhexvärde kan väl antas bero på att folk som kör med tre siffror har såpass koll på läget att dom lika gärna kan använda CSS, medan några miljarder sajter gjorda av folk som inte vet bättre än att ha attributet i taggen (;) ) skulle bli omöjliga att om man följde W3C rakt av.

  • Medlem
  • Lund
  • 2005-03-31 14:33

Nej, "#f00" är inget MS-påhitt. Det är så man ska skriva. Men det gäller visst enbart CSS, och det var det jag hade missat. Det faktum att det funkar med #f00 i body-taggen i såväl MSIE som i Safari har gjort att jag inte har reflekterat över att det inte är korrekt.

Anledningen till att jag inte har ställt in body bgcolor i css i det här fallet är att det handlar om ett jobbigt frameset som ska använda flera olika bakgrundsfärger, och då var det snabbast och enklast att göra det som jag gjorde det.

Det ska tilläggas att en sida med <body bgcolor="#f00"> faktiskt går igenom w3c's validering.

Ursprungligen av hugin:

Nej, "#f00" är inget MS-påhitt. Det är så man ska skriva.

Nej, det ska man inte. Man kan skriva så. Men det är bara en förkortning, det är bara ett sätt att spara tre tecken i sin CSS-mall. Den tre-ställiga koden tolkas och "expanderas" tydligen till sitt riktiga sex-ställiga värde när den aktuella sidan ska visas i webbläsaren.

Så här står det på W3C:s hemsida:
"The format of an RGB value in hexadecimal notation is a '#' immediately followed by either three or six hexadecimal characters. The three-digit RGB notation (#rgb) is converted into six-digit form (#rrggbb) by replicating digits, not by adding zeros. For example, #fb0 expands to #ffbb00."

W3C colors

  • Medlem
  • Lund
  • 2005-03-31 16:46
Ursprungligen av Jesper Ohlsson:

Nej, det ska man inte. Man kan skriva så. Men det är bara en förkortning, det är bara ett sätt att spara tre tecken i sin CSS-mall. Den tre-ställiga koden tolkas och "expanderas" tydligen till sitt riktiga sex-ställiga värde när den aktuella sidan ska visas i webbläsaren.

Okej, det var kanske slarvigt att skriva "ska". Jag vet inte om det står på den sidan du hänvisar till, men jag har läst på w3c's sida att rekommendationen är att använda formatet #rgb, just för att det spar tecken även om det kan tyckas obetydligt. Med det gäller då forfarande i css, inte i html.

  • Medlem
  • Mölndal
  • 2005-03-31 17:17
Ursprungligen av hugin:

Det ska tilläggas att en sida med <body bgcolor="#f00"> faktiskt går igenom w3c's validering.

...om du väljer att validera enligt Transitional. 1999 kom första versionen av Strict, och då är varken <body bgcolor> eller frames längre tillåtet.

  • Medlem
  • Lund
  • 2005-03-31 17:19
Ursprungligen av memark:

...om du väljer att validera enligt Transitional. 1999 kom första versionen av Strict, och då är varken <body bgcolor> eller frames längre tillåtet.

Ja jo, det så klart...

  • Medlem
  • Gävle
  • 2005-03-31 15:27
Ursprungligen av hugin:

Det handlar i detta fall om <body bgcolor="#f00"> om det spelar någon roll. Jag vet att det funkar om man ställer in det i ett stylesheet, men det måste ju kunna funka direkt i html också. T.o.m. gamla MSIE5 klarar ju det!

Ange färgen i CSS istället för body-taggen då, eller ange den med sex tecken. Detta hör fan inte till de större html/css-relaterade problemen.

Förövrigt så är frames en styggelse. Rätt åt dig om du har problem med dem.

  • Medlem
  • Lund
  • 2005-03-31 16:43
Ursprungligen av tjogin:

Ange färgen i CSS istället för body-taggen då, eller ange den med sex tecken. Detta hör fan inte till de större html/css-relaterade problemen.

Förövrigt så är frames en styggelse. Rätt åt dig om du har problem med dem.

Ta det lugnt.

1. Jag har redan förklarat att det i den lösning det handlar om var enklare att specificera färgerna i body-taggen eftersom det är många frames med olika bakgrundsfärg.

2. Det är inte mitt val att köra med frames, och det är inget jag kan ändra på i detta fall.

3. Jag har aldrig påstått att det skulle vara ett stort problem.

4. Jag har redan konstaterat att 3-ställiga koder hör hemma i stylesheets och ändrat till 6 tecken i koden.

1
Bevaka tråden