Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 主页的不同CSS_Php_Css_Wordpress - Fatal编程技术网

Php 主页的不同CSS

Php 主页的不同CSS,php,css,wordpress,Php,Css,Wordpress,好的,根据traitadmin(向下滚动)的回答,我正在尝试为我的首页和所有其他页面显示不同的CSS 以前,我的身体标签是这样的: <body <?php body_class() ?>> id=“home”body\u class()> 我还在我的队列中添加了新的样式表,现在主页的所有样式前面都有#home 然而,现在根本就没有风格,我的网站在所有页面上都完全崩溃了 我想我可能需要body\u class()也用于主页。但如何编辑此代码才能使其正常工作?看起来像

好的,根据traitadmin(向下滚动)的回答,我正在尝试为我的首页和所有其他页面显示不同的CSS

以前,我的身体标签是这样的:

<body <?php  body_class() ?>> 
id=“home”body\u class()>
我还在我的队列中添加了新的样式表,现在主页的所有样式前面都有
#home

然而,现在根本就没有风格,我的网站在所有页面上都完全崩溃了


我想我可能需要
body\u class()
也用于主页。但如何编辑此代码才能使其正常工作?

看起来像wordpress代码,因此: 在头部:

<?php if (is_home()) {
    // loading the stylesheet if it is the homepage
    echo '<link rel="stylesheet" href="home.css">'
} else {
    // loading the other stylesheet if it is not the homepage
    echo '<link rel="stylesheet" href="other.css">'
} ?>

最简单的方法实际上是:

<link rel="stylesheet" href="main.css">
<?php if (is_home()) {
    echo '<link rel="stylesheet" href="home.css">'
} ?>
home.css有以下功能:

body { background-color: white; }
body { background-color: blue; }
由于home.css链接在main.css之后,home.css中的规则将优先,背景将为蓝色。这样,您只能覆盖需要覆盖的样式,而所有其他样式仍将应用

在你的例子中,在你的另一个
wp\u register\u style()

if (is_home()) {
    wp_register_style('home-style',get_stylesheet_directory_uri().'/stylesheets/home.css');
}

默认情况下,WordPress将两个类添加到body标记中:在首页(
is_front_page()
)添加
主页
类,在主页(
is_home()
)添加
博客
类。因此,在主CSS文件中,可以按如下方式使用body类:

#mydiv {background:green;}
.home #mydiv {background:blue;}
.blog #mydiv {background:red;}

body_class()是否也添加了一个id,还是仅仅添加了一个类?我想你需要回应一下
id=“home”
为什么不将你的主页放在不同的标签中,然后在其中创建主页的css?等等,我正在尝试一些东西。也许我可以在if语句中使用body_类(“home”)来检查当前页面是否为home。让我试试这个!为什么不检查一下主页是否真的包含了另一个比标准css文件优先级高的.css文件呢?我不确定是否要像这样加载样式表。我已经在enqueue.php中加载了我的样式,在那里我可以设置优先级。请看:如果以这种方式加载样式表,我想我无法设置它们的优先级?当然可以,在您在该图像中显示的代码之后,只需进行一次if测试,查看是否是主页,然后添加另一个加载主页的
wp\u register\u style()
。请看:这会因为某种原因破坏我的网站,但是我不明白为什么。你对wp\u register\u style()的评论解决了我在这个案例中的问题。谢谢你的支持!如果您可以编辑您的答案,使其包含wp_register_style()解决方案,那么我会将其标记为已接受。
#mydiv {background:green;}
.home #mydiv {background:blue;}
.blog #mydiv {background:red;}