Jukka K. Korpela
2010-12-17 17:10:37 UTC
Voiko HTML-taulukoita tehdessä BORDER-määrityksen laittaa <TR> tai
<TD>-asetukseen ja syntyykö sillä validia koodia? Pitäisi saada
taulukot niin että osa taulukon soluista on reunaviivalla ja osa
ilman.
Käännän keskustelun ryhmään sfnet.viestinta.www, koska HTML ei ole<TD>-asetukseen ja syntyykö sillä validia koodia? Pitäisi saada
taulukot niin että osa taulukon soluista on reunaviivalla ja osa
ilman.
ohjelmointia.
Border-määrite on sallittu vain joissakin elementeissä, ei esimerkiksi tr-
tai td-elementeissä, ks.
http://www.w3.org/TR/html401/index/attributes.html
Vaikka selaimissa on osittain toteutettu määritteitä muissakin elementeissä
kuin missä ne HTML-suosituksen mukaan ovat sallittuja, näin ei ole tässä
tapauksessa.
HTML:ssä voi kyllä osittain säädellä sitä, minne taulukon sisälle tulee
reunaviivoja, mutta vain sen osalta, tuleeko niitä vaakasuoraan,
pystysuoraan vai sekä että sekä tuleeko niitä koko taulukon ympärille. Tähän
käytetyt määritteet ovat hiukan mutkikkaita ja siis myös joustamattomia,
eikä niitä yleensä käytetä.
Jos haluat solukohtaisesti säätää asiaa, helpointa on ehkä menetellä
seuraavaan tapaan (tässä vain esimerkkinä punainen väri ja 1px:n leveys ja
yhtenäinen eli solidi viiva tyylinä):
<style>
td { border: none 1px red; }
td.reunat { border-style: solid; }
</style>
Tuo dokumentin head-osaan ja sitten <td class="reunat"> niihin soluihin,
joille halutaan reunat.
Jos halutaan tietyn rivin kaikille soluille reunaviivat, voidaan
style-elementissä toinen sääntö laajentaa säännöksi
td.reunat, .reunat td { border-style: solid; }
jolloin riittää käyttää määritettä class="reunat" kyseisen rivin
tr-elementissä.
--
Yucca, http://www.cs.tut.fi/~jkorpela/
Yucca, http://www.cs.tut.fi/~jkorpela/