CSS: пространство имен кусок HTML
Я создаю расширение браузера, которое вставит кусок HTML на некоторые страницы. Я бы хотел, чтобы CSS страницы не применялся к этому разделу. Как лучше всего это сделать? Есть ли хороший сброс, который я могу поместить в корневой элемент моего HTML и установить его!важно, чтобы он применялся после других?
2 ответов
единственный способ 100% вывести его из каскада-поместить его в iframe.
вы можете использовать таблицу стилей сброса css, но просто префикс все с вашим корневым элементом id / class. Это будет долгий путь к борьбе с эффектами, но в этой области вам, вероятно, придется сделать еще несколько окончательных настроек.
вероятно, лучшим подходом было бы просто установить каждое разумное свойство ваших подправил. Так что я имею в виду, установить фон, передний план, шрифт, размер, и т. д. и т. п. Полностью определите правила так, чтобы они говорили именно то, что вы хотите, и не оставляли места для каскада, чтобы заполнить значения по умолчанию, которые вас не интересуют.
вы можете использовать reset CSS и применить его только к подмножеству вашей страницы. Например,этот.
My page
<div id="no-css">
blah blah this has no css
</div>
конечно, вы должны охватить все в сбросе, например:
ol, ul {
list-style: none;
}
должно быть:
#no-css ol, #no-css ul {
list-style: none;
}
чтобы упростить это, я рекомендую использовать CSS "framework", как меньше которые упрощают такого рода вещи:
#no-css{
/* Big copy and paste of all the reset css file */
}
используя этот меньший код, вы можете либо использовать меньше, либо просто создать новый сброс.css файл и использовать его нормально.
конечно, вы также можете найти сброс элемента но это решение позволяет выбрать любой сброс вам нравится больше всего.
другое решение-встроить вашу страницу в iframe.