Avatar billede avj Nybegynder
27. oktober 2003 - 22:42 Der er 27 kommentarer og
1 løsning

hvorfor "div id" eller "div class "

hej
jeg sidder her og roder med CSS og vil i den forbindelse gerne vide hvorfor man skal bruge "div id"? jeg ved godt at den er unik og derfor kun kan bruges en gang pr side, men er der en god grund til at man skal vælge det ene fremfor det andet??
//avj
Avatar billede skovenborg Nybegynder
27. oktober 2003 - 22:46 #1
ja, hvis du kun skal bruge den til en enkelt boks plejer man at bruge id og class hvis det skal bruges til flere forskellige. Id bruges dog også tit i forbindelse med javascript.

Men i teorien gør det ikke den store forskel at du bruger class i stedet for id, men id gør koden mere overskuelig.
Avatar billede skovenborg Nybegynder
27. oktober 2003 - 22:49 #2
du kan læse om de to attributter her:
http://www.w3.org/TR/html4/struct/global.html#h-7.5.2
Avatar billede exp Juniormester
27. oktober 2003 - 22:49 #3
i xhtml-standarden har id overtaget det gamle name="noget" - Id er unik, en klasse er ikke, faktisk en god måde at strukturere indholdet på :-)
Avatar billede avj Nybegynder
27. oktober 2003 - 22:51 #4
ta´r lige et look på w3
Avatar billede avj Nybegynder
27. oktober 2003 - 23:24 #5
OK hvis ikke man er forvirret, så synes jeg nok, at man bliver det ved at studere w3. Findes der ikke nogen sider der er mere tilgængelige??
Avatar billede roenving Novice
27. oktober 2003 - 23:25 #6
-- og en rigtig væsentlig forskel på at bruge id fremfor class er, hvis man skal ændre en enkelt-property på en style ...

En ændring af class eller id (hvis man bruger css !-) er direkte at fraråde, fordi browseren er nødt til totalt at genopbygge sit css DOM-træ ...
Avatar billede roenving Novice
27. oktober 2003 - 23:25 #7
En rimelig god intro kan findes på www.html.dk ...
Avatar billede avj Nybegynder
27. oktober 2003 - 23:46 #8
roenving>> jeg kender godt html.dk et glimrende site, kan du ikke forklare hvad du mener med "hvis man skal ændre en enkelt-property på en style ..." for jeg er ikke helt med :o
Avatar billede roenving Novice
27. oktober 2003 - 23:54 #9
For det første er id faktisk obligatorisk på elementer, som ikke ligger inde i forms ...

I en class kan man faktisk godt ændre en property (og i de allerfleste browsere vil det slå igennem uden problemer -- tænk dog ikke de tidligere Opera'er og f.eks. IE 4 med !-|

-- men det er irriterende arbejde, for noget af dynamikken i css går fløjten ...

-- men skal du ændre en property på et element er det langt mere effektivt at tage fat i elementet og så angive den enkelte property end det vil være at ændre dets class ...

Til gengæld er det voldsomt mere effektivt at sætte classes på en stribe elementer (måske endda på forskellige sider !-) og så finde en anelse anden designstil til dem på tværs af alle side ved at ændre eet sted i eet stylesheet ...
Avatar billede avj Nybegynder
28. oktober 2003 - 00:00 #10
når du taler om at ændre en property mener du så i HTML dokumentet? Brug af css er vel for, at der så kun ér et sted at ændre hvis der skal ændres.
Avatar billede roenving Novice
28. oktober 2003 - 00:02 #11
Jeg mener on-the-fly via javascript ...
Avatar billede avj Nybegynder
28. oktober 2003 - 00:06 #12
OK men jeg er ikke nået til javascript endnu ;)
Avatar billede roenving Novice
28. oktober 2003 - 00:10 #13
Men det er obligatorisk at angive en id på en div, så det bør du gøre uanset om du bruger den til css'en !-)
Avatar billede avj Nybegynder
28. oktober 2003 - 00:13 #14
ja det ved jeg men om jeg bruger div id eller div class kan jeg så forstå ikke har den store betydning så længe jeg "kun" bruger css.
Avatar billede roenving Novice
28. oktober 2003 - 00:25 #15
Næh, bortset fra at du jo, som du fra start gjorde opmærksom på, kun kan bruge et id eet sted, mens en class kan bruges flere steder:

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Test lige multiple classes</title>
<meta name="description" content="Tekst som du gerne vil have i overskriften">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
.under{
text-decoration:underline;
}
.fed{
font-weight:800;
}
.kursiv{
font-style:italic;
}
</style>
</head>
<body onresize onload>
<div id="minDiv" class="under fed kursiv">under fed kursiv</div>
<div id="minDiv" class="fed kursiv">fed kursiv</div>
<div id="minDiv" class="under kursiv">under kursiv</div>
<div id="minDiv" class="under fed">under fed</div>
</body>
</html>
Avatar billede roenving Novice
28. oktober 2003 - 00:26 #16
-- og da det 'bare' var et eksempel fik jeg ikke reguleret mine id'er !-)
Avatar billede olebole Juniormester
28. oktober 2003 - 00:30 #17
<ole>

Siden renderes som oftest hurtigere, hvis du benytter class- i stedet for id-selector

/mvh
</bole>
Avatar billede olebole Juniormester
28. oktober 2003 - 00:31 #18
roenving >> 'id' på et div er da ikke obligatorisk. Til gengæld kan du ikke bruge 'name'  :)
Avatar billede avj Nybegynder
28. oktober 2003 - 00:35 #19
olebole>> hvad mener du lige med "renderes"?

roenving>> den måde du bruger id og class på er ny for mig der er noget der tyder på at jeg vist skal have læst en masse css.

men jeg vil sige godnat nu, der er jo en dag igen i morgen vi snaks og godnat
Avatar billede roenving Novice
28. oktober 2003 - 00:35 #20
-- men ellers var det jo et 'fedt' eksempel !-)
Avatar billede roenving Novice
28. oktober 2003 - 00:37 #21
>>avj

Min viden om den slags multiple brug af classes er også kun 3 dage gammel, så ...
Avatar billede avj Nybegynder
28. oktober 2003 - 00:40 #22
ja heldigvis lærer man noget hele tiden :))
Avatar billede roenving Novice
28. oktober 2003 - 00:46 #23
;O)
Avatar billede roenving Novice
28. oktober 2003 - 00:49 #24
Jeg lærer, ergo lever jeg ...
Avatar billede exp Juniormester
28. oktober 2003 - 08:45 #25
roenving >>
... og omvendt...!
Avatar billede roenving Novice
28. oktober 2003 - 23:45 #26
Forhåbentligt !-)
Avatar billede avj Nybegynder
28. oktober 2003 - 23:48 #27
roenving>> <div id="minDiv" class="under fed kursiv">under fed kursiv</div>
hvorfor har du id="minDiv"?
Avatar billede roenving Novice
29. oktober 2003 - 00:14 #28
Tjah, det er standarden i min standard-'jeg skal da lige prøve'-side ...
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