这个问题出现在this one
之后原因几乎相同,为了保持东西清洁,调用有多糟糕(确保css不会与覆盖标签冲突)
放< link rel =“stylesheet”type =“text / css”href =“mycss.css”>在身体的中间? (如果有效)
因此,在某些情况下,我可以为特定模块包含特定的css。
答案 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;将它附加到体内。