Als ik in FireFox een HTML document open waarin ik een COL-element de volgende style meegeef:
Dan zijn alle cellen binnen deze COL vallen groen. Logisch.
Als ik in de DOM-Inspector kijk, dan zie ik dat de COL elementen geen childnodes bevatten. Lijkt me op zich ook wel logisch als ik naar de HTML-structuur kijk. Maar stel nu dat ik wil dat ik als ik over een van de TD's hover die in deze COL valt dat de hele kolom geel wordt, is dat wel mogelijk via een CSS-standaard, of wordt dit uberhaupt niet ondersteund?
Het is redelijk makkelijk met JavaScript te doen, de uitgecommentarieerde delen zijn de delen die je normaal zou gebruiken om het via de rijen te doen.
Hoe kan ik dit zelfde effect bereiken door CSS? Zit dit al in een van de specificaties? Want ik krijg het wel voor elkaar om hele rijen met een :hover te laten oplichten zonder JS te gebruiken, maar voor kolommen werkt dit niet.
Cascading Stylesheet:
1
| col {background-color:green;} |
Dan zijn alle cellen binnen deze COL vallen groen. Logisch.
Als ik in de DOM-Inspector kijk, dan zie ik dat de COL elementen geen childnodes bevatten. Lijkt me op zich ook wel logisch als ik naar de HTML-structuur kijk. Maar stel nu dat ik wil dat ik als ik over een van de TD's hover die in deze COL valt dat de hele kolom geel wordt, is dat wel mogelijk via een CSS-standaard, of wordt dit uberhaupt niet ondersteund?
Het is redelijk makkelijk met JavaScript te doen, de uitgecommentarieerde delen zijn de delen die je normaal zou gebruiken om het via de rijen te doen.
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| function makeColYellow(obj) { brothers = obj.parentNode.childNodes; famsize = brothers.length; var number = null; for (i = 0; i < famsize; i++) { if (brothers[i] === obj) { number = i; break; } } uncles = obj.parentNode.parentNode.parentNode.getElementsByTagName("COL"); /*uncles = obj.parentNode.parentNode.getElementsByTagName("TR");*/ uncsize = uncles.length; uncles[number].style.backgroundColor = "yellow"; /*for (g = 0; g < uncsize; g++) { uncles[g].childNodes[number].style.backgroundColor = "yellow"; }*/ } |
Hoe kan ik dit zelfde effect bereiken door CSS? Zit dit al in een van de specificaties? Want ik krijg het wel voor elkaar om hele rijen met een :hover te laten oplichten zonder JS te gebruiken, maar voor kolommen werkt dit niet.
iOS developer