Yritän opetella html-kieltä. Olen W3-oppaan CSS-kohdassa. Ihmettelen hieman id- ja class-attribuuttien eroja, koska ne näyttävät toimivan aivan samalla tavalla. Sanotaan ettei id-attribuuttia saisi käyttää sivulla kuin kerran, mutta miksi se kuitenkin toimii myös useamman kerran?
https://www.w3schools.com/html/tryit.asp?filename=tryhtml_css_id
Jos tuossa yläpuolisen linkin editorissa kopioi "I am different" rivin uudelleen, niin kyllä se toinenkin rivi näkyy ihan hyvin. Vastaavalla tavalla kuin tässä alapuolisessa class-atribuuttia käyttävässä esimerkissä.
https://www.w3schools.com/html/tryit.asp?filename=tryhtml_css_class
Mitä käytännön eroa "id" ja "class" atribuuteilla?
5
1491
Vastaukset
- The_Real_Jid-attribuuttia pitäisi käyttää vain yhdessä paikassa, esimerkiksi navigointipalkille varatussa kentässä. Tällöin id-attribuutti määrittelee missä paikassa kyseinen lohko on. 
 class-attribuutilla voidaan merkitä yleisesti lohkot, joille halutaan tietynlainen muotoilu ja niitä voi olla useita. Esimerkiksi jos halutaan muotoilla lähdekoodia sisältävät lohkot tietyllä tavalla (tasalevyinen fontti, tietty taustan/tekstin väri, rajaus halutulla tavalla) voidaan merkitä kaikki kohdat joissa niitä on kyseisellä luokalla.- En.YmmärräEli class-attribuutti on nähtävästi järkevämpi noihin muotoiluihin, mutta id taas sitten muunlaisiin asetuksiin? 
 Katselin tämän sivuston lähdekoodia, ja huomasin että molempia attribuutteja voi käyttää myös yhtä aikaa:
 <div class="collapse navbar-collapse" id="s24-navbar-collapse-1">
 Määrittääkö tuossa class siis ulkoasun, ja tuo id on taas joku kyseisen objektiin liittyvä ominaisuus?
- En.Ymmärrä kirjoitti:- Eli class-attribuutti on nähtävästi järkevämpi noihin muotoiluihin, mutta id taas sitten muunlaisiin asetuksiin? 
 Katselin tämän sivuston lähdekoodia, ja huomasin että molempia attribuutteja voi käyttää myös yhtä aikaa:
 <div class="collapse navbar-collapse" id="s24-navbar-collapse-1">
 Määrittääkö tuossa class siis ulkoasun, ja tuo id on taas joku kyseisen objektiin liittyvä ominaisuus?- Selvennetään vielä: ID-attribuutilla annetaan tarvittaessa elementeille yksilöllinen tunnus, jonka ansiosta ne erottuvat kaikista muista dokumentin elementeistä. CLASS-attribuutilla taas erotetaan elementtejä kuulumaan yhteen tai useampaan luokkaan. Erilaiset elementit voivat kuulua samaan luokkaan. 
 Käytännössä siis ero on siinä että ID-attribuutin, eli yksilöölisen tunnisteen avulla mahdollistuu esimerkiksi linkkien, tyylimäärityksien ja skriptien kohdistaminen tiettyyn dokumentissa uniikkiin elementtiin. CLASS-attribuutilla, eli yleisellä luokalla voidaan sitten kohdistaa tyylejä ja skriptejä useampaan samaan luokkaan kuuluviin elementteihin. Tässä myös näkyy 1. käytännön eroavaisuus: linkittää voidaan vaan yksilöityyn ID-entifioituun kohteeseen (siksi myös rajoitus: yksi ID per dokumentti). 2. käytännön ero on siinä että ID hyväksyy vain yhden arvon (vertaa ihmisen henkilötunnukseen), kun taas CLASS-attribuutin arvoksi voidaan antaa useampi arvo, jolloin joku elementti voi kuulua useampaan eri luokkaan samanaikaisesti.
 Antamassasi esimerkkikoodissa tod. näk. molemmat attribuutit ovat siellä tyylejä varten, jolloin ID: "s24-navbar-collapse-1" toimii koukkuna vain siihen näin yksilöityyn DIV-elementtiin ja CLASS: "collapse navbar-collapse" yhdistää DIVin kahteen eri luokkaan (luokkanimet erotetaan toisistaan tyhjällä tilalla), joita sitten oletettavasti käytetään myös muuallakin dokumentissa. Eli tyyleistä jostain löytynee kolme valitsinta:
 #s24-navbar-collapse-1 {...}
 .collapse {...}
 .navbar-collapse{...}
 joiden deklaraatioita sitten käytetään kyseisen DIVin lopullisen ulkoasun määrittämiseen. Vielä nyrkkisääntö: suosi luokkia, käytä IDeetä vain pakottavissa tapauksissa.
 
- opetettuväärinköOnkohan tässä mitään logiikka? (Näin mulle joskus opetettiin) 
 class tulisi käyttää vain fonttien tyylimäärittelyissä
 ja id muussa sijoittelussa ja muissa ominaisuuksissa.- ID ja CLASShan ovat merkkauskielen rakenteita, joihin sitten CSS-valitsimien (selektoreiden) avulla voidaan yhdistää tyylideklaraatioita (ominaisuuksia arvoineen). Toisin sanoen: valitsimet ovat kaavoja, jotka vastaavat HTML- tai XML-dokumenttipuiden solmuja, eikä CSS:n kannalta ole mitään merkitystä minkälaisia deklaraatioita yhdistetään milläkin valitsimella, oli sitten kyseessä luokkavalitsin (CLASS), tahi tunnistevalitsin (ID), tai joku muu: 
 http://weppipakki.com/css/tekstit/selektor.htm
 Eli, en näe logiikkaa tuollaisessa opetuksessa, eikä mieleen tule mitään historiallistakaan syytä moiseen. Päinvastoin, tuollainenhan käytännössä vaikeuttaisi tyylien ylläpitoa enemmän kuin kohtuuttomasti (se olisi täydellinen vastakohta jo mainitsemalleni nyrkkisäännölle: vältä tunnisteita, suosi luokkia.
 Mielenkiinnosta vilkaisin tämän sivun tyylejä:
 view-source:https://keskustelu.suomi24.fi/css/styles.css?v=1.49.2
 joista en äkkiseltään löytänyt kuin yhden tunnisteselektorin, mutta satoja luokkaselektoreita :)
 
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- Sanna Marin teki sen, mihin muut eivät pystyneet - sote kerralla maaliinYli 15 vuotta Suomessa vatvottu sote-uudistus meni lopulta läpi Sanna Marinin hallituksen aikana. Edeltävät hallitukset738164
- Marinin hallitus hyväksyi soten (105-77) vuonna 2021vastaan äänesti Kok, persut, KD, Liike Nyt. Nyt on sitten käynyt niin kuin on käynyt. Pääkirjoitus: Sanna Marin jätti905747
- Pikkupersu osoitti olevansa hieman yksinkertainen"Heikosti älykkyystesteissä pärjänneistä lapsista tulee muita todennäköisemmin ennakkoluuloisia ja konservatiivisia", uu923942
- Enää viisi yötä Sannan kirjaanIhan täpinöissään tässä odotellaan. Vaikea pysytellä aloillaan, kun koko ajan tekisi mieli jo kirjakauppaan rynnätä, mut463901
- Sanna-kulttilaiset hehkuttaa edelleen Marinia, vaikka esim. Sote oli susi jo syntyessäänmutta kulttilaiset eivät ole järjen jättiläisiä, ja sanoihin Lasse Lehtinenkin, että Suomessa on pohjoismaiden tyhmimmät443645
- Kannattaako suomalaisen duunarin enää äänestää vasemmistopuolueitasillä eivät ne tunnu kovasti ajavan suomi-duunarin etuja. Jos katsotaan Vasemmistoliittoa, niin sehän on ihan feministi603594
- Jos on heikkolahjainen ja laiska koulupudokas, niin silloin äänestää vasemmistopuolueitanäin tämä on käytännössä aina mennyt. Jos ei älyä ole paljon suotu, niin ei silloin inssiksi opiskella, vaan päädytään263246
- Lehtinen: "Oli demareidenkin onni, että valkoiset voittivat sodan 1918"Lasse Lehtisen mukaan vasemmalla on radiohiljaisuus hänen uutuuskirjastaan, "Läheltä piti. Kansakunnan hurjat hetket" L1133060
- IL - 100 000 potentiaalista sotilasta pakeni Ukrainasta!"Ukrainasta nuorten miesten joukkopako Liki 100 000 asevelvollisuusikäistä miestä on poistunut Ukrainasta parin viime k572859
- SDP:n valtuutettu valehtelee koulutuksensaSDP:n helsinkiläinen kaupunginvaltuutettu Mahad Ahmed käyttää maisterin titteliä suoritettuaan 60 opintopisteen epäviral972833