Normalize-css на части страницы

Я разрабатываю плагин js, доступный через закладку пользователя. Когда пользователь нажимает на закладку, плагин отображает всплывающее окно с формой, позволяющей ему напечатать и сохранить заметку.

Я хотел бы применить normalize.css таблицы стилей для моего плагина без использования iframe или влияния на остальную часть страницы (что означает, что я не могу встроить normalize.css стайлсхет прямо в мой плагин).

Любая идея / предложение?

1 ответ

Решение

Хотя вы можете в конечном итоге сделать это с помощью html5-областей, в настоящее время это невозможно в большинстве современных браузеров.

Вам нужно будет присвоить элементам плагина класс или идентификатор и вручную "нормализовать" эти элементы в файле CSS вашего плагина (или с помощью javascript).

редактировать:

Более подробно о моем ответе: @Tibos comment: вы никогда не можете быть абсолютно уверены, что ваши elmenets плагина не будут стилизованы по-другому, но вы можете обеспечить разумную степень специфичности в вашем css, присваивая пространству имен свой плагин с идентификатором:

#myPlugin .container {
  background: #fff;
} 

#myPlugin input {
  border:0;
}

Как упоминает Тибос, существует ядерный !important но может быть лучше сохранить это для экстремальных ситуаций (например, макет полностью сломан). Как правило, полезно предоставить пользователям возможность переписать ваши стили, если это необходимо.

Другие вопросы по тегам