在不同页面中包含不同样式表的最佳方法是什么?

时间:2012-09-21 22:04:48

标签: php html css include

在索引页面是每个请求的根目录的情况下。并且基于URL提供不同的页面。

现在我们对CSS文件使用与要提供的页面相同的名称。

但是如果我们想要为一组页面使用相同的CSS,或者我们不希望页面常用CSS的特殊CSS就足够了

此外,数组建议一个解决方案,但在网站页面增加时似乎无法管理

2 个答案:

答案 0 :(得分:3)

LUT将是最快的方式,但我认为您需要认真重新构建您的应用。

无论如何,在您的索引页面上,您有一些变量$ pageName,它表示您要加载哪个页面。你可以做这样的事情。

$myPages = array(
   "somePage" => array("style_base.css", "custom_style1.css"),
   "otherPage" => array("style_base.css", "awesome_style.css")
   // more pages here
);

foreach( $myPages[$pageName] as $pageStyleSheet ) {
    echo '<link href="' . $pageStyleSheet . '" rel="stylesheet" type="text/css">' . PHP_EOL;
}

只是你知道这是超级hacky,如果我必须维护你的应用程序,我可能想要杀了你。但它是基于您描述的架构的最快方式。

更新

另一个想法,但是如果你根据页面名称保留每个页面的样式表,并使用@include作为你想要重用的表格。所以对于 somePage.css 你可以有

@include('otherPage.css')

这样你可以不断反映页面名称,但仍然可以重用样式。

答案 1 :(得分:1)

@Champ - 您可以将CSS文件用于整个网站 - 使用类等。与图像相比,这些文件非常小。我们正在谈论ASCII和几十千字节(最多) - 这可以缓存!

修改

使用额外的服务器负载而不是PHP来确定CSS内容以获得更好的东西