如何使用子主题css从父主题css中删除特定样式?

时间:2014-05-20 作者:Christine

如果我没有使用子主题,我会简单地从样式表中删除父主题中的一些样式。显然,我不想从父css中删除它们,但有没有办法使用我的子主题有效地“删除”样式?

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

从父主题中“删除”样式的唯一方法是在子主题的css中覆盖它们。

例如,如果在父主题中有以下声明:

.someclass{
    width: 200px;
    float: left;
 }
通过在子主题中声明以下内容,可以覆盖宽度和浮动:

.someclass{
    width: auto;
    float: none;
}

SO网友:Victoria

我知道这很旧,但我最近一直在想。我也有同样的问题,如果我发现自己非常广泛地修改父样式表,它会导致我加载大量样式,只是为了在子主题中覆盖它们。

当我处理此类项目时,通常情况下,我对CSS的修改要比对php的修改多得多。我想为php结构和html使用子主题,但css实际上是我自己的。对于这种类型的项目,我没有将父css排队,而是将其复制到子主题样式表中,然后对其进行修改,以便我保留的父css的唯一部分是我专门选择重用的部分。

您根本不必使用父主题的css。如果愿意,您可以自定义编写所有css,并且只使用父级的php模板。

php比css更容易出现安全问题,css只是一个格式化系统,因此您可以依赖一组经过测试和更新的php/html,自己格式化。

SO网友:totels

实际上,是的。除非我误解了你的问题,否则这只是CSS的基本特性。我假设您希望使用来自父主题的大部分CSS,但只有一部分是不需要的,因为默认情况下,CSS不是从父主题加载的。

所有覆盖或增加特异性的正常规则都适用。最简单(但最残酷)的方法就是创建使用!important 覆盖不需要的规则。否则,您应该仅仅依靠规则级联和特定性来正确定位您想要的东西并设置您想要的样式。

wordpress中没有内置任何东西可以过滤、剪切、删除或删除父主题中的CSS片段,如果这是您的要求的话。

SO网友:Pim

我认为没有办法,只有变通办法。

编辑:

说明:根据定义,创建子主题就是加载父主题的CSS。因此,我看不出有什么方法可以排除CSS的某些部分。唯一有效的方法是覆盖它。最简单的方法是使用要覆盖的选择器和规则,并将其设置为新值或默认值。由于子主题CSS在样式“层叠”中的位置低于父CSS,因此不需要“!important”语句等。

结束

相关推荐

更改站点URL后损坏的css

我在我的家庭服务器上有一个自我托管的Wordpress博客。以前,我通过从DHCP获取的原始IP地址直接访问它,但现在我为它配置了一个静态IP地址。问题是,现在所有的CSS都被破坏了。我已更新wp-config.php 添加以下两行的文件:define(\'WP_HOME\',\'http://192.168.0.100/myblog/\'); define(\'WP_SITEURL\',\'http://192.168.0.100/myblog/\'); 我重新启动了apache,但C