It’s been a long-standing dream of front-end developers to have a way to apply CSS to an element based on what’s happening inside that element.