是否可以根据您所在的动态页面调用不同的css文件?
例如,如果你从index.php开始 - > 然后单击指向index.php的链接?p = apple
如果您有一个名为index.css的css文件,该文件特定于index.php,那么在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:使用标记为答案的解决方案,并且一切正常。谢谢大家的帮助!
答案 0 :(得分: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'>";
}
答案 1 :(得分:0)
我认为一种方法是你可以根据查询字符串动态生成CSS链接。你可以有单独的php文件,它将作为帮助文件,你可以包含在所有页面中。
if($_GET['p'] == 'a')
{
echo LINK OF NEW CSS File
}
else
{
echo Link of another CSS
}
答案 2 :(得分: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
。
答案 3 :(得分:0)
如果你的网址是 index.php?p = apple 或 index.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.php 或 product.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">';
}