Другие предложили очень хорошие способы предотвратить влияние CSS на страницу, а также убедиться, что ваш CSS имеет приоритет, но вы, кажется, больше всего обеспокоены влиянием CSS страницы на вас - то есть добавлением необычного, неожиданного стиля. (например, когда все элементы имеют розовый фон).
Единственный способ, которым я могу придумать, чтобы вы не влияли на стилизацию их введенного кода, заключается в том, чтобы вы помещали в песочницу то, что вы ввели, как в iframe
. В противном случае вам просто придется определить слишком много вещей - вам придется определить каждый отдельный стиль (padding
, border
, margin
, background
... список можно продолжать и продолжать) на селектор "*
" (или, что еще лучше, "#yourid *
", поэтому вы просто переопределяете свой собственный контент), чтобы гарантировать абсолютный контроль над вашим CSS.
Редактировать: я понимаю, что последнее решение не обязательно будет слишком болезненным, если вы используете омни-селектор, чтобы сбросить все до базовой линии:
#myid * {
somestyle1: default;
somestyle2: default;
...
}
Я нашел кого-то, кто написал такое решение . Если вы прокрутите страницу вниз достаточно далеко, вы увидите ее (из SuzyUK). Это не выглядит полным, но это хорошее начало.
(Мне тоже было бы интересно узнать, есть ли хороший способ предотвратить это. Я написал сценарии Greasemonkey до того, как это внедрит код на страницу, и мне пришлось написать CSS, чтобы переопределить CSS страницы, но в в тех случаях я знал, кто моя цель, и мог адаптировать свой CSS прямо к странице.)