Eli minulla on pitkälti div-pohjainen ulkoasu, joka taitetaan lähes kokonaan CSS:llä. Valikoissa minulla on ns. ikkunoita, eli ruutuja, joiden avulla valikko on ryhmitelty, ja niillä eriytän esim. hakupalkin, mainokset jne. Sivusto näyttääkin kätevämmältä kuin se onkaan kun kaikki valikot on jaettu "ikkunoihin" (vrt. http://www.joonasnet.com/, vaikka se onkin tehty taulukoilla).
Vitsinä on nyt se, että W3:n validaattori itkee näistä id-attribuuteista, kun niitä muka saisi olla vain yksi samanmoinen per dokumentti. En viitsisi tehdä jokaiselle ikkunalle omaa määritelmää tyylitiedostoon (kun ne ovat ulkonäöltään identtisiä - sisältö vain vaihtuu), ja class-attribuutti taas vie huspois suurimman osan määritelmistä. Mitä teen, jotta koodi olisi validia, lyhyttä, helposti päivitettävää sekä tyylikästä? Kiitos jo etukäteen.
#id1, #id2, #id3 { font-weight: bold; } ?
idt tulee olla unikkeja classia voi käyttää monta kertaa. (Javascriptiä, linkitystä varten)
En nyt ymmärtänyt alkuperäistä ongelmaa. Classia käytetään, jos niitä samoja määrityksiä halutaan käyttää monissa elementeissä. ID:tä, jos vain yhdessä. Jos yrität käyttää id:tä monessa, validaattori herjaa (ja pitääkin) siitä. Muutat vain ne id:t classeiksi, ja sillä selvä?
JTS: Ei, koska silloin suurin osa muotoiluista häviää. Kuva: http://denvish.net/ulf/030407/85421_idclass.png
Muutenhan käyttäisinkin class:ia, mutta tuo näyttää liian rumalta.
Sun pitää tietenki muuttaa se CSS:ki käyttämään sitä classia.
Prrtpsöh. Aivan.
Tietty on mahdollista myös referoida käyttäen yhtä ID:tä, esim. #elementti div { }, jolloin ei tarvitse tökätä classia "turhaan" jokaiseen elementtiin. Pitää koodin siistinä ja lyhyenä.
Eri asia tietysti on sitten se, jos jostain kumman syystä tarvitset useita erilaisia div-elementtejä. Toisaalta jos yrittää käyttää aina tiettyyn käyttöön tarkoitettuja elementtejä ja opettelee käyttämään näitä useampia tiettyyn tarkoitukseen suunnattuja HTML-rakenteita, niin yleensä tämä ei ole minkäänlainen ongelma.
Hyvin sisältöä kuvaava rakenne on tärkeämpi kuin sivun validoituminen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.