如何使用Wordpress处理这个C​​SS问题?

时间:2009-11-04 13:59:02

标签: php css wordpress

我有一个(可能不是)独特的问题与css背景div我正在寻求建议。我正在使用Wordpress,它动态创建我的页面。首页和其他一些页面使用一种背景(渐变),而内部页面使用纯白色。现在我被迫有两个样式表 - 渐变背景的main.css,然后是内部的internal.css - 仅用于此背景div。

有没有办法使用一个css文件并轻松处理这两个背景div?我可能需要使用一些PHP ...

基本上我只想在家里或内页上传递两个不同的背景div。

4 个答案:

答案 0 :(得分:2)

只需使用不同的模板文件(由于外观不同,你应该这样做),并在body标签上使用类似ID的内容进行检查:

<body id="grad">
    ...
</body>

<body id="white">
    ...
</body>

并在样式表中使用它:

#grad {
    background-image:url(something.png);
}
#white {
    background-color:#FFF;
}

请务必查看WordPress codex中的template hierarchy页面,了解如何轻松创建所需的模板文件。在home.php中使用#grad和/或应用于首页的自定义模板文件(如果它是静态的),然后在其他所有内容中使用#while(category.php,tag.php,single.php和page .php可能是基础知识。)

答案 1 :(得分:0)

<?php 
    if(is_home) {
        echo '<div class="bg for main page">';
    } else {
        echo '<div class="bg for internal page">';
    }
?>

答案 2 :(得分:0)

您可以在所有页面上使用普通样式表,并设置纯白色背景。然后在您的首页和其他“特殊”页面上,您可以使用覆盖白色的背景图像标记:

<head>
<link rel="stylesheet" type="text/css" href="main.css" /><!-- This has background-color:white; -->
<?php if(!empty($special)){
echo <<<HTML
    <style>
    body{
        background-color:transparent;
        background-image:url('image_url');
    }
    </style>
HTML;
?>
</head>

然后,当你在'特殊'页面时,你只需将$ special设置为true或其他东西。

答案 3 :(得分:0)

我没有想到这一点,但这里是代码:

<body<?php if ( !is_home() ) echo ' style="background-image: url(images/about_bg.png);"'; ?>>

将它放在标题中。