包括PHP脚本以根据月份更改外部CSS

时间:2015-10-12 22:28:53

标签: php html css

我知道您可以通过更改样式表文件本身并添加.php扩展名来更改CSS但我需要找到一种在index.php页面上使用PHP脚本的方法来告诉标题要放入哪个样式表行动取决于一年中的哪个月。

目前我的代码是我所知的最准确的但是由于某种原因它没有被任何样式表读入和实现。

CODE:

<!DOCTYPE html>
<html lang="en">
<head>
<?php 
$date = getdate();
$month = $date["mon"];
$style = "style.css";
$autumn = "autumn.css";
$xmas = "christmas.css";

if($month == 10) 
{
echo '<link rel="stylesheet" type="text/css" href="$autumn"/>';
}
elseif($month =="12")
{
echo '<link rel="stylesheet" type="text/css" href="$xmas"/>';
}
else
{
echo '<link rel="stylesheet" type="text/css" href="$style"/>';
}
?>
</head>

非常感谢任何帮助!

4 个答案:

答案 0 :(得分:1)

您尝试在单引号内使用变量(')。这不起作用,变量仅在双引号(")内解释。因此,您的代码最可能按字面意思输出

<link rel="stylesheet" type="text/css" href="$autumn"/>

必要的代码行(当然,相应地适应其他行):

echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"$autumn\"/>";

或者,您可以使用单引号替换HTML代码中的转义双引号。浏览器并不关心这一点(我不确定规范)。

答案 1 :(得分:0)

如果您想避免代码中的某些冗余,可以尝试这样的方法:

<?php 
$style = "style"; // Set the default stylesheet name
// then check for the special cases
$date = getdate();
if ($date["mon"] == 10) $style = 'autumn';
if ($date["mon"] == 12) $style = 'christmas';
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" type="text/css" href="<?php echo $style; ?>.css"/>
</head>

这可能比回复一堆HTML更容易维护。

答案 2 :(得分:0)

如果您使用的是HTML5 doctype,则不需要link元素的type属性。我以为我会把这种方法抛到一堆:

switch( $month ) {
    case 10:
        $file = 'autumn.css';
    break;
    case 12:
        $file = 'christmas.css';
    break;
    default:
        $file = 'style.css';
}

<link rel="stylesheet" href="<?= $file ?>">

答案 3 :(得分:-2)

我想你需要尝试:

echo '<link rel=stylesheet" type="text/css" href="'.$style.'"/>';