質問

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 ?

役に立ちましたか?

解決

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.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top