只能用子Style.css中的‘!Important’覆盖父主题样式

时间:2022-01-19 作者:BeccaN

function my_theme_enqueue_styles() {
    wp_enqueue_style( \'twentytwentyone-style\', get_template_directory_uri() . \'/style.css\' );
    wp_enqueue_style( \'child-style\',
        get_stylesheet_directory_uri() . \'/style.css\',
        array(\'twentytwentyone-style\')
    );
}

add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_styles\' );
将样式更改添加到子主题样式时。css文件,我可以在chrome开发工具中看到它们,但被父样式划掉并覆盖。我只能通过添加!important 更改子样式。如果没有,如何更改样式!重要信息,还是这是更改样式的唯一方法?

1 个回复
最合适的回答,由SO网友:kero 整理而成

从外观上看,您已将所有内容正确地排入队列:将父样式设置为依赖项,这样WordPress应该首先加载父样式,然后加载子样式。

然而,您的规则仍然可能不被应用,这通常是由于规则更加具体。看见this MDN article for more information.

作为解决方案,您可以使您的规则更加具体:

// parent
.main-content .mydiv

// child
body .main-content .mydiv
// or
.main-content .someclass .mydiv

相关推荐

Child-theme breaks site

所以,我有一个子主题,里面除了所需的CSS文件之外什么都没有。一旦我激活了这个儿童主题,我的整个网站就关闭了。最后我有两个问题:激活一个只有CSS的子主题怎么能破坏我的网站</我怎样才能回到我原来的主题</这些是网站给我的错误:Warning: require_once(/wp-content/themes/interio_child/admin/options-framework.php) [function.require-once]: 无法打开流:中没有此类文件或目录/wp-c