我已使用成功将CSS文件排入队列wp_enqueue_style
. 我已经验证了我用于所有设置和选择器的CSS是正确的。实际上,除文件中的第一个选择器指定的设置外,所有样式都将应用。其设置从不读取/应用于其相应的元素。
我已经确认,问题仅限于文件开头的选择器,而不是通过简单的测试来测试我的实际CSS:我只是在代码上方添加了一个额外的选择器,然后突然应用了第一个选择器时不起作用的代码。类似地,如果我有两个选择器,并交换它们的位置,使第一个现在是第二个,第二个现在是第一个,第一个(以前不工作)工作,第二个(以前工作)不再工作。
第一个选择器未应用
<style>
#IntendedfirstSelector {
color: blue; /* this won\'t work*/
}
#IntendedSecondSelector {
color: red; /* this works*/
}
</style>
插入填充选择器可恢复功能
<style>
#uselessSelector {
color: white; /* inserted filler selector; now none of my needed code is the called by the 1st selector */
}
#IntendedfirstSelector {
color: blue; /* with the filler inserted above, the same code now works*/
}
#IntendedSecondSelector { /* this still works*/
color: red;
}
</style>
在我看来,浏览器或WP解释文件的方式有点奇怪。当我检查头部的链接时,我觉得一切正常
<link rel="stylesheet" id="themeName-child-extra-style" href="http://example.com/wp-content/themes/themeName-child/my_css_file.css?ver=4.7" type="text/css" media="all">
在我当前的伪工作版本中,第一个元素断开,首先我有标记
<style>...</style>
包装代码。为了让第一个元素发挥作用,我尝试了:
移除样式标记添加type="text/css"
内部<style>
标签移除初始空格添加初始空格移除初始回车插入初始回车注释wp config中DB\\U COLLATE和DB\\U CHARSET的定义。php(已找到here).我不知道问题出在哪里,因为我的CSS只要不是第一个元素,就可以工作。
我认为唯一奇怪的事情可能是,我使这个样式表依赖于主题的主样式表(style.css),以便在主文件之后加载小文件(WP默认为最后加载主文件)。我不知道依赖关系/顺序是否会导致这样的问题,但我想我应该提一下。
This is my code for enqueing (as @prosti requested):
function themeName_child_enqueue_styles() {
wp_enqueue_style( \'themeName-style\', get_template_directory_uri() . \'/style.css\' ); //parent stylesheet
wp_enqueue_style( \'themeName-child-style\', get_stylesheet_directory_uri() . \'/style.css\' ); //child stylesheet
wp_add_inline_style( \'themeName-child-style\', some_inline_css() ); //some inline style I seem to have no problems with
wp_enqueue_style( \'themeName-child-extra-style\', get_stylesheet_directory_uri() . \'/my_css_file.css\', \'themeName-child-style\'); // the file with the broken selector and the dependency on the child-theme\'s stylesheet;
}