为什么子主题的style.css不能重写插件的css

时间:2011-12-14 作者:novicePrgrmr

我正在为twentyeleven使用我自己的子主题,并以我的子样式对一些插件的css类进行了一些更改。css。我遇到的问题是,如果我从插件的css向类添加一个新的css属性,那么它就会做出更改。但是,如果该属性已经在插件的css中声明,则依赖于此。

我如何才能使我的孩子主题的风格。css优先于插件的css文件?

下面是firebug的一个例子(第一个css文件来自插件,第二个来自我的孩子主题):

enter image description here

3 个回复
最合适的回答,由SO网友:Michael Rader 整理而成

我建议你用特异性来做这件事。现在这两条规则的价值是相等的。哪个部门持有div“产品”如果Div被称为“包装器”,那么您的代码可能如下所示:

body div.product div.images img {
  ......
}

SO网友:krembo99

一些插件还具有内嵌CSS。检查页面的源代码。无论如何,你有几种方法来解决这个问题。

1.使用(!important;)CSS中的属性。

 p { color: #000000 !important; }
2。添加一个函数以停用插件css

add_action( \'wp_print_styles\', \'k99_deregisterr_plugin_css\', 100 );

function k99_deregisterr_plugin_css() {
    wp_deregister_style( \'name of plugin  style\' );
       // add here more lines to deregister other css ...
} 
2。我的解决方案通常是将所有插件的样式表css复制到我自己的css中,然后删除或重命名它(或取消注册——见上文)。

有一个统一的css也可以节省http请求。

(但这并不是所有生产网站的解决方案,因为客户端触发的升级可能会导致问题。)

SO网友:Brad Dalton

您可以在加载主题样式表的代码中添加第三个参数,使其在所有插件之后加载,并删除在插件之前加载主题样式表的默认操作。

示例:

add_action( \'wp_enqueue_scripts\', \'add_stylesheet\', 999 );
对于Genesis用户,这里有一个小插件http://wordpress.org/plugins/genesis-style-trump/

结束

相关推荐

下面的代码会让我的css以最佳的方式处理图像吗?

在外观/编辑器中,“我的主题”的样式表包含以下代码: #content img { margin: 0; max-width: 640px; } #content .attachment img { max-width: 900px; 这是否意味着,如果我使用WordPress中的“添加图像”按钮,然后选择“从url”在博客文章中发布图像,那么如果url中的图像大于我博客文章的最大宽度,这将无关紧要它不会导致图像花费比加载到用户计算机