0

是否可以根据您所在的动态页面调用不同的 css 文件?

例如,如果您从 index.php 开始 -> 然后单击指向 index.php?p=apple 的链接

如果您有一个特定于 index.php 的名为 index.css 的 css 文件,那么在打开 index.php?p=apple 的情况下,您能否拥有一个覆盖 index.css 的 css 文件?

如果没有解决方案,我可能会重写我的 css 文件以容纳所有动态页面。

更新:以下是我的代码的一些摘录。

注意:something.inc.php 页面中有一个指向 index.php?p=apple 的链接

<head>  
    <link href="css/index.css" rel="stylesheet" type="text/css" media="screen" />
</head> 

<?php
$pages_dir = 'pages';

if (!empty($_GET['p'])) {
    $pages = scandir($pages_dir, 0); 
    unset($pages[0], $pages[1]);

    $p = $_GET['p']; 

    if (in_array($p.'.inc.php', $pages)) {
        include ($pages_dir.'/'.$p.'.inc.php'); 
    } else {
        echo 'Sorry, page not found'; 
    }

} else {
    include($pages_dir.'/something.inc.php');
}

?>

更新2:使用标记为答案的解决方案,一切正常。感谢大家的帮助!

4

4 回答 4

1
$link = (isset($_GET['p']))? $_GET['p'] : 'index';
if(file_exists(PATH_TO_CSS_FILES.$link."css")){
  echo "<link src='$link.css' media='all' rel='stylesheet' type='text/css'>";
} else {
  echo "<link src='index.css' media='all' rel='stylesheet' type='text/css'>";
}
于 2013-05-22T11:00:59.853 回答
0

也许...

$page = (isset($_GET['p'])) ? $_GET['p'] : false;
if ($page){
    $css = '';
    switch ($page) {
        case 'apple':
        $css = 'apple.css';
        break;
        //other options here
    }
//link to $css
}

并记住!important在旨在覆盖原始样式的所有样式中使用。

于 2013-05-22T10:59:30.503 回答
0

我认为的一种方法是您可以根据 querystring 动态生成 CSS 链接。您可以有单独的 php 文件作为帮助文件,您可以将其包含在所有页面中。

         if($_GET['p'] == 'a')
         {
                 echo LINK OF NEW CSS File
         } 
         else
         {
             echo Link of another CSS
         }
于 2013-05-22T10:57:10.680 回答
0

如果您的网址是index.php?p=appleindex.php?p=orange

然后

if($_GET['p'] == 'apple')
{
   echo '<link href="css/apple.css" type="text/css" rel="stylesheet">';
} 
elseif($_GET['p'] == 'orange')
{
   echo '<link href="css/orange.css" type="text/css" rel="stylesheet">';
}

如果您的网址是index.phpproduct.php

然后

$file = basename($_SERVER['REQUEST_URI']);
if($file == 'index.php')
{
   echo '<link href="css/apple.css" type="text/css" rel="stylesheet">';
} 
elseif($file == 'product.php')
{
   echo '<link href="css/orange.css" type="text/css" rel="stylesheet">';
}
于 2013-05-22T11:12:46.170 回答