id vai class?

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;}
6894
Äänestä

Muut lukivat myös

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ä.

Äänestä
  • ... 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.

    Äänestä

  • 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;}

    Äänestä

  • classko kirjoitti:

    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.

    Äänestä

  • The Rat kirjoitti:

    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.

    Äänestä

  • Myös kiinnostunut kirjoitti:

    ... 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.

    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ä...

    Äänestä

Kommentoi aloitusta


classko kirjoitti:

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;}

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu