How is it not possible? Can you not just use classes for the map tags and keep everything else the same? Or is the problem that the map styles are affected by the classless CSS?
#map{
foo: initial
}
#map *{
foo: initial
}
For the styles that are a problem? That’s maybe 10 properties you need to remove?Another solution might be packing the map in a shadow element so that it doesn't get affected by the page CSS.
Use a CSS preprocessor to add a
:not(.nostyle)
To all rules, and then add the nostyle class to all elements you want to exclude.
The problem would be that you have to add the class to every single element (and all children) to exclude them, and there seems to be no good way of having selector:not(.class and all children of .class)
The Shadow DOM method is really interesting though, I’ve never used it anywhere but it looks like it’s perfect for this application.