Mistä tietää että milloin elementtiin pitäs liittää id- ja milloin class -määrittely?
Siis:
div.puna{background-color:red;}
vai
div#puna{background-color:red;}
Siis:
div.puna{background-color:red;}
vai
div#puna{background-color:red;}
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 6
Vanhimmat
Samassa dokumentissa voi id-määriteltyjä objekteja esiintyä vain yksi, luokkia (class) voi esiintyä useampia. Jos käytät esim. valikkoa tms., joka on ainutkertainen, voi käyttää id merkintää. Tekstialueissa, joita on ehkä useita, käytetään luokkamääritystä.
... kannattaa käyttää aina class-määrittelyä?
Perustelu: Ei ole vaaraa validatorin "vingahtamisesta".
Onkohan tuossa saman id:n useampaan kertaan käyttämisessä samassa dokkarissa mitään muuta ongelmaa kuin se, että se ei ole standardin/määrityksen mukaista. Hyvin se tuntuu käytännössä pelaavan.
Kiitos vastauksestasi. Tulkitsin sen niin, että id-määriteltyä elementtiä voi "kutsua" vain kerran koodissa, mutta tulkintani taisi olla väärä.
Tämä tuplakutsu
Eka id
...
Toka id
toimii, kun CSS-tiedostossa on määrittely
div#puna{background-color:red;}
Ja sitten kirjoitat myöhemmin javascriptillä jotain tyyliin "document.getElementById("puna")...", ja ihmettelet kun jokin menee koko ajan pieleen.
Käytä ID:tä vain kerran, käytä luokkaa merkitsemään luokkaa. Ei se, että jokin toimii, tarkoita että niin kannattaisi tehdä.
Eikä se edes välttämättä toimi kaikilla selaimilla.
Tarkoitus ei ollut vängätä vastaan, mutta kun vasta aloittelen näitä hommia, niin välttämättä selkeästikään selitetty asia ei ole tumpulalle selkeää. :) Kiitos hyvistä vastauksista.
Mikäänhän ei estä käyttämästä samalle elementille sekä class, että id -määritystä.
Mutta juu, jos tarvetta elementtien yksittäiselle osoittamiselle ei ole, class toimii vallan mainiosti. ID on yleensä hyödyllisempi sitten javascriptin kanssa, kun halutaan vaikkapa tiettyä taulukkoa tai tiettyä kuvaa käsitellä...