Ответ 1
<link>
разрешен только в разделе <head>
документа: Связи с документами: элемент LINK
Хорошо, этот вопрос возник после этого
Причины в значительной степени совпадают, чтобы очистить материал, как плохо его назвать (убедитесь, что css не сталкивается с переписыванием тегов)
Чтобы поставить < link rel= "stylesheet" type = "text/css" href= "mycss.css" > в середине тела? (если он работает)
Так что в некоторых случаях у меня может быть конкретный css для конкретного модуля.
<link>
разрешен только в разделе <head>
документа: Связи с документами: элемент LINK
Хотя теоретически вы должны поместить CSS только в тег head
, на практике это часто не представляется возможным или просто не стоит боли.
Если вы разместите его в середине документа, произойдет одно из следующих двух действий:
Браузер начнет загружать (и отображать) вашу страницу, а затем, как только он встанет на новый CSS, существующее содержимое изменится или перемещается
Браузер займет немного больше времени, чтобы отобразить ваш контент.
Первое кажется плохим, но это вообще не проблема. Ну, это не было для меня в любом случае, потому что в 9 раз из 10, если вы помещаете CSS в середине страницы, CSS только "построен для" контента, который приходит после него, и не влияет на вещи над ним, поэтому они не будут двигаться или меняться в любом случае
Итак, чтобы ответить на ваш вопрос "насколько это плохо", я бы сказал - совсем неплохо, просто будьте осторожны с написанием CSS, который влияет на части страницы, загруженные до того, как файл CSS сделал.
Честно говоря, если вы делаете только один раз или пару раз в большом проекте, и этот плохой макет экономит ваши дни перекодировки нового решения... идите на это. Вы правы, это работает.
Вы получите ответы, что это плохо, потому что это неверно, потому что это неправильно, и если вы делаете это слишком много раз, я согласен, что вы должны пересмотреть и исправить настоящую проблему. Но однажды? Я говорю, продолжайте; сеть остается довольно несовершенным местом.
Просто не обращайтесь, чтобы работать со мной, мы не мириться с этим дерьмом здесь.
EDIT: Просто посмотрел на ваш другой вопрос и на сайт, о котором вы говорили. Если это связано с вашим проектом на выходные, сделайте это правильно. Развивайте хорошие привычки рано и часто.
Теперь он может работать, но поскольку тег ссылки разрешен только в голове, нет гарантии, что он будет работать в будущем; обновление браузера может привести к тому, что css больше не будет использоваться.
Но опять же, возможно, нет.
В любом случае, я бы определенно не рекомендовал его.
Изменить:. Все всегда жалуются на то, что IE не придерживается стандартов, давайте не будем это делать и разработчиками.
Таблицы стилей должны быть включены в тег заголовка. Иначе вы можете получить странный рендеринг "щелчков", в зависимости от браузера. Если вы действительно хотите использовать таблицы стилей CSS-модуля, вы должны предоставить привязки к тегу заголовка шаблона.
HTML5 вводит атрибут "scoped" в элементе стиля, который частично относится к вашему прецеденту, потому что это очень распространенный случай для mash-ups. Однако, насколько я знаю, для элемента ссылки нет эквивалента. Кроме того, я не знаю, поддерживает ли какой-либо браузер атрибут "scoped".
Теоретика - если вам нужно загрузить CSS-стили в тело, вы можете использовать php include. Но я не уверен, что если это не сработает - попробуйте изменить свой файл css на php:
style.php:
<style>
body {}
</style>
или используйте конструкцию загрузки jquery и создайте новый элемент стиля и добавьте ее в тело.