Pregunta

I am developing a js plugin accessible through user's bookmark. When the user presses the bookmark, the plugin displays a popup with a form allowing him to type and save a note.

I would like to apply a normalize.css stylesheet to my plugin without using an iframe or affecting the rest of the page (which means that I can't embed the normalize.css stylehseet directly in my plugin).

Any idea/suggestion ?

¿Fue útil?

Solución

While you may eventually be able to do this withhtml5 scoped styles, it's not currently possible in most modern browsers.

You will have to give your plugin elements a class or id, and manually "normalize" those elements within your plugin's css file (or via javascript).

edit:

Expanding on my answer re: @Tibos comment: you can never be absolutely sure your plugin elmenets will not be styled differently, but you can provide a reasonable amount of specificity in your css by namespacing your plugin with an id:

#myPlugin .container {
  background: #fff;
} 

#myPlugin input {
  border:0;
}

There is, as Tibos mentions, the nuclear option of !important but it may be best to save this for extreme situations (like the layout completely breaking). It's typically a good thing to give your users the chance to overwrite your styles if necessary.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top