@yuhunglin @christianv This is a good question. I did it in angular because A) it's a form of interactivity and B) It was super easy/clean to do. To do it in CSS would mean talking to element p from element q's hover state. If that's possible, I figure it will be tricky. 

Talked to @elicochran about the philosophy here, and he felt that CSS would be the more declarative approach, though I'd counter that almost everything in angular is declarative already. 

I'll investigate, but interested in Christian's thoughts on this.