将CSS包含在身体中间有多糟糕?

时间:2009-02-26 00:12:58

标签: html css

这个问题出现在this one

之后

原因几乎相同,为了保持东西清洁,调用有多糟糕(确保css不会与覆盖标签冲突)

放< link rel =“stylesheet”type =“text / css”href =“mycss.css”>在身体的中间? (如果有效)

因此,在某些情况下,我可以为特定模块包含特定的css。

7 个答案:

答案 0 :(得分:19)

虽然理论上你应该只将CSS放在head标签中,但实际上这通常是不可行的,或者只是不值得痛苦。

如果您将其放在文档的中间,则会发生以下两种情况之一:

  • 浏览器将开始加载(并显示)您的网页,然后一旦进入新的CSS,现有内容将会改变或移动

  • 浏览器只需要更长的时间来显示您的内容。

第一件事似乎很糟糕,但一般不是问题。 好吧,它无论如何都不适合我,因为10次中有9次,如果你把CSS放在页面中间,那么CSS只是“为”后面的内容“构建”,并不影响它上面的东西,所以它们不会移动或改变

所以要回答你的“它有多糟糕”的问题,我会说 - 一点也不差,只是要小心编写影响CSS文件之前加载的部分页面的CSS。

答案 1 :(得分:16)

<link>仅允许在文档的<head>部分中使用:Document relationships: the LINK element

答案 2 :(得分:6)

老实说,如果你在一个大项目中只做过一次或几次,那么糟糕的布局可以节省你重新编码新解决方案的天数......去吧。你是对的,它有效。

你会得到答案,因为它是无效的,因为这是不对的,如果你做了太多次,我同意你应该重新考虑并解决真正的问题。但一次?我说继续;网络仍然是一个非常不完美的地方。

请不要申请与我合作,我们不会忍受这个废话。

编辑:只是查看了您的其他问题和您正在谈论的网站。 如果这与您的周末项目有关,请以正确的方式进行。及早养成良好习惯。

答案 3 :(得分:4)

现在可能有效,但由于链接标签只允许在头部使用,因此无法保证它将来可以使用;浏览器更新可能导致css不再使用。

但话说回来,也许不是。

无论如何,我绝对不会推荐它。

编辑:每个人都在抱怨IE不遵守标准,我们也不要像开发者那样开始这样做。

答案 4 :(得分:1)

样式表应包含在head标记中。否则,根据浏览器的不同,您可能会得到奇怪的渲染“轻弹”。如果你真的想使用每个模块的css样式表,你应该为模板的head标签提供钩子。

答案 5 :(得分:0)

HTML5在style元素中引入了“scoped”属性,它部分地解决了你的用例,因为它是mash-up的常见情况。但是,据我所知,link元素没有等价物。另外,我不知道是否有任何浏览器当前支持“作用域”属性。

答案 6 :(得分:0)

Theoreticaly - 如果你需要将css样式加载到body中,你可以使用php include。但我不确定 - 如果它不起作用 - 尝试将您的css文件更改为php:

style.php:

<style>
body {}
</style>

或使用jquery load构造并创建新的样式元素&amp;将它附加到体内。