我可以使用include而不是链接到css文件来插入css规则在网页中


Can I use include instead of linking to a css file to insert css rules in a webpage?

这就是我想做的:我有一个有很多页面的网站。它们都有类似的内容:

<head>
 <link rel="stylesheet" type="text/css" href="img_css/style.css"  media="all" />
</head>

但是我希望我的css规则是内联的。这样的:

<style>
 div{color: blue;} 
 p{padding: 5px;}
 /* ect... */
</style>

当然,由于维护困难,不建议这样做。但如果我把所有的css规则放在一个php文件中,然后在每个页面上都包含一个呢?这样的:

<head>    
  <style type="text/css">
   <?php include_once "img_css/new_style.php"; ?>
  </style>    
</head> 

我想知道这种方法是否有问题。我真的能做到吗?你们对这种事有什么建议或警告吗?你同意吗?
提前感谢任何回复!

是的,你可以这样做,但真正的问题是应该这样做。在大多数情况下你不应该这样做。在页面中嵌入CSS的主要问题,正如在评论中提到的,是它不能被缓存以便在以后的页面加载中快速使用。如果您的HTML没有压缩,它可能会大大增加页面大小;如果它与压缩一起提供,它将增加压缩页面的开销。

有几个因素综合起来可能使嵌入它成为一个不错的选择:

  • 这是一个相对较少的代码
  • 它包含了网站上其他地方没有使用的样式
  • 与代码大小有关,嵌入它将比向服务器请求可缓存的外部文件更快。