One of my AngularJS directives uses CSS in its template. How do I protect this CSS from external CSS classes defined by user?
<selectable-data-list items="myItems"></selectable-data-list>
the template consists of a div
field as:
<style>
.selectable-data-list{
position: relative;
}
.selectable-data-list .someclass{
position: absolute;
top: 0;
right: 0;
}
</style>
<div class="selectable-data-list">
<!--some additional elements -->
<div class="someclass">something</div>
</div>
So, if a user adds a class .someclass{position: relative;}
, that will have my directives required UI jumbled or messed up.
So, how do I protect it??
I know a way to do it by using some long random string as a class name. But is there an alternative way to do it?