我有一个想法......
Dunno,如果它是一个好的或坏的。
我正在为SMF Fork制作一个无图像/响应主题。我在想,因为它是用PHP编写的,添加php包含标题中的“style.php”是否有效,包含页面的所有样式。
我在想这会给我带来两大好处。一,我可以添加变量start到css文件。第二,它将减少一个HTTP请求。我知道pagespeed和yslow会对标签之间包含在页面内的CSS感到厌恶,但它不是更明智的,对吗?
据我所知,无论pagespeed / yslow的想法是什么,我都会看到很多好处。我甚至可以用javascript做这个,也许......
我想知道IE最大4096 CSS规则是否仍然适用?
我是PHP Ultra Noob,但在网页设计方面拥有丰富的经验。我似乎没有理由“不”这样做。有谁愿意分享他们对这个想法的看法?
答案 0 :(得分:2)
我认为这不是一个好主意。如果要在CSS中使用变量,请查看SASS或LESS。关于附加请求,CSS是静态的,因此如果您在服务器端执行任务,浏览器将只检索一次CSS,后续请求将使用缓存副本。
我认为这不会有害,但是这与标准开发完全不同,所以这并不是一个好主意。此外,由于没有人这样做,所以一定不是一个如此聪明的发明。
答案 1 :(得分:1)
如果它是有效的CSS,你实际上可以包含任何CSS文件(实际上,即使它不是,我想):
<link rel="stylesheet" type="text/css" href="/style.php">
//style.php
<?php header('Content-type: text/css');
$style = 'bold';
?>
strong {
font-weight: <?php echo $style ?>;
}
答案 2 :(得分:1)
css文件通常对于更好的速度更有效,因为它被请求但是一次,然后缓存了很长时间。对于整个浏览会话,这是一个额外的请求,如果他们没有进入他们的缓存已经比较相同的css一遍又一遍地在head标签中,使你的实际页面加载更慢 。总而言之,在一些请求之后,一个单独的(可缓存的)文件通常已经胜出,只要你将它设置为可缓存一段时间(不要担心人们没有看到css更改,如果你改变你的CSS,只需添加一些查询参数,如/styles.css?rev=1
。您不使用该参数,只需在css更改时增加该参数,从而使客户端请求获得新副本。
这并不意味着你不能使用PHP(或nodejs / less)来创建或提供你的CSS文件,变量确实很好。如果转到less
路由,请在自己的服务器上将其转换为css,而不是使用大量的javascript来打扰客户端以反复转换它。