Datorn iFokus

Datorn

Etikettinternet
Läst 734 ggr
Anne
0

Hjälp med CSS?

Nu har jag kommit lite väl långt ut på hal is, så att säga. Jag har en hemsida - för min kattuppfödning - och jag skulle vilja göra om den till css. Idag har vi massor av tabeller, och det är minst sagt krångligt. Jag bryr mig inte så mycket om textattribut och sånt - det använder vi ändå inte i någon större utsträckning, men det jag däremot behöver är en sida med dubbla bakgrunder (alltså en bakgrundsbild med en vit ruta på, med svart ram runt den vita rutan) och sen själva sidan indelad i.. spalter. Eh, går det över huvud taget att göra? Och hur lär jag mig det här, på ett något sånär enkelt sätt? Programmering är *inte* min starka sida, jag kan grunderna i html och that's about it.

johan
0
#1

Om du aldrig använt CSS alls så är det lite svårt att ge tips, men en sajt som jag tycker är bra och som också tar upp det här med spalter (The Holy Grail) är A List Apart.

>> Tre kolumner - The Holy Grail

Jag skulle nog ändå rekommendera att hitta en tunn billig bok om CSS för att komma igång. När du väl har grunderna så kommer du ha mycket mycket lättare att ställa frågor och ha nytta svaren.

Men CSS är riktigt riktigt bra, så varje timme du lägger på att lära dig det kommer du definitivt spara in i sluppet dubbeljobb.

Mvh // Johan

Anne
0
#2

Tack :) Jag ska inte ha tre kolumner på det sättet, utan mer osynliga spalter så att säga. Men en bok kanske inte är en dum idé - jag ska se vad jag kan hitta.

Det kluriga verkar vara just att få en vit ruta på bakgrunden, jag fattar inte att det ska vara så svårt. *svär lätt*

johan
0
#3

Enklast är väl om du har en bakgrund på BODY-taggen och den vita rutan får du genom att sätta en bakgrund på en DIV- eller TABLE-tagg.

Vissa hardcore-fanatiker tycker ju inte att man ska ha tabeller alls nu för tiden, men jag har svårt att se poängen med detta. Det viktiga är att innehållet får ett bra flöde. Det är viktigt för logiken i koden, för Google och för tillgänglighet, alltså t ex skärmläsare för blinda.

T ex om du har en text i två spalter vill du så klart att all text från spalt 1 ska komma före spalt 2 i koden.

Mvh // Johan

Erik
0
#4

#3 - Det man kan göra för att undvika

är att istället använda display: table (table-row etc…) på vanliga semantiskt friare element. Fördelen är att det blir mer "rätt" om man använder tabellerna enbart för att positionera innehåll som egentligen inte är en tabell. Nackdelen är att det är svårare att koda, och att stödet inte är direkt 100% i alla webbläsare…

Problemet med html/css är att det så länge använts på ett sätt som det egentligen inte var tänkt från början. Och när vi nu försöker flytta ut layoutinformation från HTML och till CSS t.ex. så är det svårt att få med all funktionalitet, och att komma undan de idiom som använts flitigt under en så lång tid.

… är man lite pragmatisk så får man väl gå med "whatever works" när man kodar html. Vill dock påpeka, som du också sa tidigare, att det som fungerar bäst i många fall faktiskt är även den rätta lösningen, d.v.s. att använda CSS för layouten. Bäst är väl att arbeta med målet att göra det så enkelt som möjligt för sig själv på lång sikt.

johan
0
#5

fungerar display: table-row i IE? Och fungerar table-layout: fixed i Firefox?

Mvh // Johan

Erik
0
#6

Tror inte display: table* fungerar i IE6, men de ska väl fungera i IE7, har jag fått för mig. table-layout: fixed har jag inte stött på än, så det vet jag inte…

johan
0
#7

table-layout: fixed får tabeller att rendera mycket snabbare då renderingsmotorn inte behöver ha hela tabellen och allt innehåll för att räkna fram hur tabellen ska se ut. Bästa sättet att få en tabell att se ut som man tänkt sig med bredder som varken blir bredare eller smalare.

Mvh // Johan

Erik
0
#8

Ah. Well, tål kanske att kollas upp i så fall. Inte för att jag normalt har problem med rendreringshastigheten, men ändå…

johan
0
#9

I väldigt långa tabeller kan det bli ett problem.

Ett annat problem som dom löser är att tabeller som det i vårt fotoalbum går snabbare, därför att man inte behöver vänta på bilderna för att bestämma cellernas bredder.

Mvh // Johan