覆盖WordPress TwentyTen主题的子项中的CSS未生效

时间:2015-02-22 15:53:39

标签: css wordpress-theming

我第一次尝试创建一个子主题,使用Twenty Ten主题作为模板(我知道它现在有点老了,但是我关注的教程使用了这个。)我的教程的第一件事是更改主题中主要元素的背景颜色,以突出显示DIV的位置。我这样跟着这个:

#wrapper { background: blue; }
#header { background: yellow; }
#main { background: red; }
#container { background: green; }
#primary { background: aqua; }
#footer { background: gold; }

保存文件时,除了包装ID:

之外,所有颜色更改都会生效

screen capture

我想知道这是否与父主题的style.css似乎有两个包装ID的事实有关:

#wrapper {
    margin: 0 auto;
    width: 940px;
}
#wrapper {
    background: #fff;
    margin-top: 20px;
    padding: 0 20px;
}

我必须承认,我不明白拥有两个具有相同名称的ID的重要性,但是我的孩子style.css是否有可能覆盖父CSS的第一个包装,然后父母的第二个ID是将颜色设置为白色?

如果是这种情况,我怎么能告诉我的CSS文件定位第二个ID,而不是第一个ID。如果不是这样,有没有人对它可能有什么建议?

编辑:我只想指出我已经尝试直接在父主题中更改颜色调用,这会产生所需的效果!

1 个答案:

答案 0 :(得分:0)

好吧,我设法找到问题的部分答案。一路上,并且在sdcr的帮助下(在上面的评论中)我确定了实际上,我对#wrapper id所做的修改没有被子主题采用,尽管其他所有修改都是。

最后,我尝试从我的functions.php中删除以下代码(虽然它是WP推荐的):

add_action('wp_enqueue_scripts', 'theme_enqueue_styles');

function theme_enqueue_styles() {
    wp_enqueue_style('parent_style', 
    get_template_directory_uri().'/style.css');
}

将其替换为CSS中的此语句:

@import url("../twentyten/style.css");

再一次,WP本身声明这个方法现在已经过时了,我应该使用我提到的第一个方法。但使用@import语句修复了问题,所以我想这仍然是一个谜! (至少在我对整个过程有了更好的理解之前我猜!)