【问题标题】:how to load different css for different pages?如何为不同的页面加载不同的css?
【发布时间】:2014-01-23 19:59:25
【问题描述】:

我正在尝试为我的页面创建不同的样式表。

我有一个设置的头文件

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
       <link href="/includes/main.css" rel="stylesheet" media="all"/>
</head>
<body>

然后我有我的主体页面,我将有main.html, project.html, contact.html ...等

//php load different pages for my body
<div>….

还有一个页脚。

<footer>…

我的问题是如何交换 css 文件以适应我的主体页面的不同页面。页眉和页脚文件是模板,我不想每次加载新页面时都更改 css 文件。我该如何做到这一点?非常感谢!

【问题讨论】:

  • 您是否使用 PHP 将您的页眉和页脚文件包含到每个 html 文件中?您可以在每个 html 文件中使用 PHP 变量来告诉包含的页眉/页脚您正在查看哪个页面。然后根据该变量的值动态加载适当的 CSS 文件。
  • 使用有助于异步加载的 require.js

标签: php jquery html css


【解决方案1】:

一种简单的方法是使用名为“basename”的 php 函数。

如果你有3个页面main.php、project.php和contact.php,你可以根据你正在查看的页面名称加载不同的资源。

例如 回声;

<!DOCTYPE html>
 <html>
  <head>
  <meta charset="utf-8"/>
   <?php if(basename($_SERVER['PHP_SELF']) == 'main.php'){ ?>
     <link href="/includes/main.css" rel="stylesheet" media="all"/>
   <?php }
   elseif(basename($_SERVER['PHP_SELF']) == 'project.php'){
   ?>
    <link href="/includes/project.css" rel="stylesheet" media="all"/>
   <?php } ?>
 </head>
<body>

【讨论】:

  • 可能是一个很好的解决方案,但为什么是 if/elseif 的东西?为什么不直接提取没有扩展名的文件名并添加.css 呢?动态执行。
  • 你可以。我只是认为这对他来说更容易理解。
猜你喜欢
  • 2017-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多