Насколько плохо помещать CSS-вставку в середине тела? - PullRequest
14 голосов
/ 26 февраля 2009

Ну, этот вопрос возник после этого

Причины почти одинаковые: чтобы содержать вещи в чистоте, как плохо это вызывать (будучи уверенным, что CSS не сталкивается с перезаписывающими тегами)

Поместить в середину тела? (если это работает)

Так, чтобы в некоторых случаях я мог иметь определенные CSS для конкретного модуля, включая.

Ответы [ 7 ]

19 голосов
/ 26 февраля 2009

Хотя теоретически вы должны помещать CSS только в тег head, на практике это часто неосуществимо или просто не стоит боли.

Если вы поместите его в середину документа, произойдет одно из следующих двух событий:

  • Браузер начнет загружать (и отображать) вашу страницу, а затем, как только он перейдет на новый CSS, существующий контент изменится или переместится

  • Браузеру потребуется немного больше времени для отображения вашего контента.

Первое, что кажется плохим, но обычно это не проблема. Ну, в любом случае это было не для меня, потому что 9 раз из 10, если вы помещаете CSS в середину страницы, CSS «только создан» для контента, который идет после него, и не влияет вещи над ним, чтобы они не двигались и не менялись в любом случае

Поэтому, чтобы ответить на ваш вопрос «насколько это плохо», я бы сказал - совсем неплохо, просто будьте осторожны с написанием CSS, который затрагивает части страницы, которые были загружены раньше, чем CSS-файл.

16 голосов
/ 26 февраля 2009

<link> разрешено только в разделе <head> документа: Отношения документа: элемент LINK

6 голосов
/ 26 февраля 2009

Честно говоря, если вы делаете один или несколько раз в большом проекте, и этот плохой макет сэкономит вам дни перекодирования нового решения ... сделайте это. Вы правы, это работает.

Вы получите ответы, что это плохо, потому что это неверно, потому что это просто неправильно, и если вы делаете это слишком много раз, я согласен, что вам следует пересмотреть и устранить реальную проблему. Но однажды? Я говорю, давай; паутина остается довольно несовершенным местом.

Только не обращайтесь ко мне, мы не миримся с этим дерьмом.

РЕДАКТИРОВАТЬ: Просто посмотрел на ваш другой вопрос и сайт, о котором вы говорили. Если это связано с вашим проектом выходного дня, сделайте это правильно. Развивайте хорошие привычки рано и часто.

4 голосов
/ 26 февраля 2009

Это может работать сейчас, но так как тег ссылки разрешен только в заголовке, нет гарантии, что он будет работать в будущем; обновление браузера может привести к тому, что CSS больше не будет использоваться.

Но опять же, возможно, нет.

В любом случае, я бы определенно не рекомендовал это.

Редактировать: Все всегда жалуются на то, что IE не придерживается стандартов, давайте не будем так поступать, как разработчики.

1 голос
/ 26 февраля 2009

Таблицы стилей должны быть включены в тег head. В противном случае вы можете получить странный рендеринг «щелчков», в зависимости от браузера. Если вы действительно хотите использовать таблицы стилей CSS для каждого модуля, вы должны предоставить хуки для тега head вашего шаблона.

0 голосов
/ 07 декабря 2013

Теоретически - если вам нужно загрузить стили CSS в body, вы можете использовать php include. Но я не уверен - если это не сработает - попробуйте изменить свой CSS-файл на php:

style.php:

<style>
body {}
</style>

или используйте конструкцию загрузки jquery, создайте новый элемент стиля и добавьте его в тело.

0 голосов
/ 26 февраля 2009

HTML5 вводит атрибут «scoped» в элементе style, который частично относится к вашему варианту использования, потому что это очень распространенный случай для гибридных приложений. Однако, насколько я знаю, для элемента ссылки нет эквивалента. Кроме того, я не знаю, поддерживает ли какой-либо браузер атрибут «scoped».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...