Note: given the semver adopted from now on by Angular team, I will refer to all versions of Angular2+ as Angular. For the old Angular 1.x I will use AngularJS.
Supposing you want to use the flexbox CSS property to style your Angular app. So you will have a cascade of flex element that at some point will look like this:
<div class="wrapper"> //flex parent <angular-component></angular-component> <div class="children"> //flex children - inside angular component //some content </div> </div>
Now you realize that you cannot apply flex property on the child, because the angular-element is cutting the flex tree.
The solution for this problem is to apply flex property on angular-component using `:host` selector on component CSS style:
:host { display: flex; }
This will apply flex property to the generated DOM node representing the angular-element, thus not breaking the flex tree.