Так долго я читал и понимал следующие истины, касающиеся веб-разработки:
- HTML для контента
- CSS для презентации
- JavaScript для поведения.
Обычно все нормально, и я обнаружил, что если я строго следую этим рекомендациям и использую внешние файлы .css
и .js
, это делает мой сайт намного более управляемым. Тем не менее, я думаю, что нашел ситуацию, которая нарушает эту точку зрения.
У меня есть система форумов, которую я создал для одного из моих сайтов. В дополнение к обычному форматированию для такой системы (ссылки, изображения, полужирный курсив и подчеркивание и т. Д.) Я позволил моим пользователям устанавливать форматирование их текста, включая цвет, семейство шрифтов и размер. Все это сохраняется в базе данных сообщений форума в виде кода форматирования, а затем транслируется в соответствующий HTML-код при просмотре страницы. (Немного неэффективно, технически я должен переводить перед сохранением, но таким образом я могу работать с системой вживую.)
В связи с природой этой и других подобных систем, я получаю множество тегов, плавающих в результирующем HTML-коде, которые, как мне кажется, неофициально не рекомендуются, поскольку я должен использовать CSS для форматирования. Это нарушает правила одно и два, которые утверждают, что HTML не должен содержать информацию о форматировании, и предпочитают, чтобы эта информация находилась в документе CSS.
Есть ли способ добиться динамического форматирования в CSS без включения этой информации в разметку? Стоит ли это хлопот? Или, учитывая подразумеваемые ограничения правильного кода, я ограничиваю тем, что мои пользователи могут делать , чтобы следовать «правильному» способу форматирования моего кода?