tisdag 22 mars 2011

Är det fel att göra layout med tabeller?

Fundering / Fråga:
Jag gör ibland webproduktioner till företag och har fram tills nu använt tabeller för att designa sidorna. Jag vet att det är smidigare att använda css för att göra layouten men jag har hängt kvar med det arbetssättet då det känts bekvämare och ett vant sätt för mig att arbeta. Sidorna validerar hyfsat när jag kör i Unicorn.
Är det på något sätt "fel" att göra layouten i tabeller?
Svar:

Fel och fel... funkar det så funkar det. Det är ju ändå det som kunden bryr sig om, eller hur?

Men ja, alla trender och tekniker väljer att layouta webbplatserna med CSS. Det är oundvikligt att layout med tabeller är "gammalt" och på väg bort.

Det är intressant att även layout med bilder är på väg bort. Historiskt så används bilder som grafiska element för att skapa effekter, tex runda hörn. Med framväxt av CSS3 så kommer vi se mer och mer webbplatser som väljer CSS3 framför bilder. Detta är i min mening en bra utveckling, CSS3 ger mer flexibilitet, färre sidaccesser för att hämta bilderna och förenklar utveckling och underhåll av webbplatser. Det räcker att skriva en rad i stylesheeten, istället för att hantera en bild.

Det som hindrar utveckling är kompabiliteten mellan browsers och det ännu så länge bristfälliga och browserspecifika stödet för CSS3. Vill man bygga en webbplats som fungerar i "alla" webbläsare så är det än så länge enklare att göra detta med bilder än med CSS3. Men, detta kommer att ändra sig snabbt, iallafall över de närmaste åren. 

Första stegen in i CSS är lite klurigt, men när man väl kan hantera det så glömmer man snabbt tabeller.

Ett tips är att kolla på hur CSS-ramverken blueprint eller 960gs gör, de är lite komplexare men kan ändå ge en fingervisning om hur man kan göra avancerad layout med CSS. Blueprint och 960gs använder ett rutnät, ett grid, för att underlätta layouten. Studera exemplen på deras siter. Det kan vara väl spenderad tid.
http://blueprintcss.org/
http://960.gs/
Lycka till!



1 kommentar:

  1. Angående CSS3, kanske något sådant:

    if lt IE 9
    echo "Update your browser then try again"
    endif

    SvaraRadera