0

在索引页面是每个请求的根的情况下。并根据 URL 提供不同的页面。

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

但是,如果我们想对一组页面使用相同的 CSS,或者我们不想为页面使用特殊的 CSS,这将失败,通用 CSS 就足够了

数组也建议了一个解决方案,但是当网站页面增加时它似乎无法管理

4

2 回答 2

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')

这样,您可以继续反映页面名称,但仍然可以重用样式。

于 2012-09-21T22:15:43.357 回答
1

@Champ - 您可以为整个网站使用 CSS 文件 - 使用类等。与图像相比,这些文件非常小。我们说的是 ASCII 和几十千字节(最多)——而且可以缓存!

编辑

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

于 2012-09-21T22:21:00.023 回答