webForumDet fria alternativet

class och id

9 svar · 530 visningar · startad av Web-Tor

Web-TorMedlem sedan nov. 200013 890 inlägg
#1

Jag har läst följande men blir inte så mycket klokare: http://cgi.webforum.nu/wf/Forum1/HTML/000205.html

Vilken skillnad är det mellan att använda:
<table id="foo">
och
<table class="foo">

Man brukar ju använda id när man placerar ut layers men spelar det egentligen någon roll :q

------------------
/Tor
www.tor.nu

jarvkloMedlem sedan juli 20013 378 inlägg
#2

Skillnaden är att formellt ;) så måste värdet på ett ID vara unikt inom hela dokumentet (oavsett vilken tagg det kopplats till), medan ett och samma värde på CLASS kan kopplas till en eller flera taggar.

Se vidare http://www.w3.org/TR/html4/struct/global.html#h-7.5.2

Att sedan "de vanliga" webbläsarna tillåter att man har samma ID på flera taggar är en intressant sidoeffekt och IMHO alltså en bugg ;)

------------------
Have fun
;)

Web-TorMedlem sedan nov. 200013 890 inlägg
#3

Aha...
Finns igentligen ingen anledning att använda id då?

------------------
/Tor
www.tor.nu

spangoMedlem sedan juni 20008 205 inlägg
#4

Jodå... om man vill ha ett utseende på sidan för bara ett specifikt element (t.ex. sidfot, navbar) så kan man mycket väl använda id, eftersom man då ger läsaren av koden en bättre ide om vad som händer. Dessutom är det ju viktigt för dhtml et.c..

------------------
You can be a coward for a few minutes, or dead forever. /Rincewind

[Redigerat av spango den 06 dec 2001]

jarvkloMedlem sedan juli 20013 378 inlägg
#5

Du kan ju också ha både class och id som attribut i samma tagg och på så sätt kan du lägga all formatering i en extern CSS-fil och ändå styra utseendet för en viss, speciell, tagg (ibland vill man slippa en massa style="..." attribut i HTML-koden ;) )

Exempel:

<table class="foo" id="menubar">...</table>
<table class="foo" id="pagefooter">...</table>

CSS:

.foo { ... }
#menubar { ... }
#pagefooter { ... }

------------------
Have fun
;)

[Redigerat av jarvklo den 07 dec 2001]

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#6

En trevlig sak med klasser är att man kan skriva:

<div class="menu">...</div>
<span class="menu">...</span>

Och kan sen i stilmallen skriva:

div.menu {...}
span.menu {...}

Istället för att hitta på egna namn för olika taggar... :)

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

learnMedlem sedan jan. 20051 130 inlägg
#7

tänkte passa på att fråga en sak. Om man nu har både class och id inom samma tagg, vilken överlappar vilken, dvs vilken bestämmer i slutänden?

emissionMedlem sedan dec. 19996 721 inlägg
#8

id har högre prio än class

learnMedlem sedan jan. 20051 130 inlägg
#9

ok, tack

zcorpanMedlem sedan dec. 20042 245 inlägg
#10

Jag ser CLASS som "author defined semantics", alltså saker som man egentligen vill ska finnas med i HTML men som inte finns (ännu). Tex:

<header>

...finns ju inte i HTML4, så istället använder jag

<div class="header">

ID ser jag som en identifierare man kan länka till eller hämta från DOMen med javascript eller CSS. Därför tänker jag mer på "URI design" när jag använder ID, och på "semantik" när jag använder CLASS. Det betyder att jag använder engelska namn för CLASS och svenska namn för ID (om sidan är på svenska).

Men det finns ju inget "rätt" och "fel"... :)

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)