Как сделать так, чтобы HTML, написанный пользователями на сайте, не конфликтовал со стилями сайта? - PullRequest
2 голосов
/ 15 июля 2009

У меня есть веб-сайт, который позволяет пользователю создавать сообщения в блоге. Есть некоторые теги из списка, но большинство стандартных тегов HTML являются приемлемыми.

Однако у меня возникли проблемы с отображением страниц.

Я храню HTML в своем собственном div.

В конечном итоге я бы хотел отделить HTML-код от пользователя от таблиц стилей основных сайтов, чтобы он не унаследовал стили и не испортил макет исходного сайта, на котором отображается HTML-код.

Итак, в конце концов, могу ли я что-то применить к div, чтобы его содержимое было помещено на карантин с остальной части сайта?

Спасибо!

Ответы [ 4 ]

3 голосов
/ 15 июля 2009

Вы можете использовать таблицу стилей сброса, чтобы сбросить свойства для этого конкретного DIV и его дочерних элементов. А с другой стороны, вам, вероятно, понадобится анализатор CSS, чтобы настроить таблицу стилей пользователя для этого конкретного DIV.

1 голос
/ 15 июля 2009

Вы можете сделать это в рамке или в фрейме. Это будет держать его отдельно во всех отношениях.

0 голосов
/ 15 июля 2009

Вы можете использовать iframe, чтобы разделить их, если вы действительно хотите быть экстремальными.

Или вы можете ограничить их только написанием встроенных стилей, чтобы они не могли повлиять на таблицу стилей вашей страницы:

1) удаляет любые теги стиля, которые создает пользователь. Таким образом, они не могут переопределить ваши стили.

2) проверять их код и исправлять или отклонять такие вещи, как незамкнутые теги или элементы, которые не должны находиться внутри элемента div (например, теги head или body), и убедиться, что все они закрыты должным образом, чтобы не допустить путаницы. html со своей страницы после div, в котором он содержится.

0 голосов
/ 15 июля 2009

Не могли бы вы отформатировать каждый пользовательский контент с помощью div класса 'username' в дополнение к любым другим именам классов, которые вы можете добавить автоматически?

Затем они - я полагаю, что они могут форматировать и стилизовать их так, как им заблагорассудится, могут иметь все свои стили с предисловием так:

В противном случае вы можете использовать iframes.

...