【发布时间】:2019-11-27 03:59:57
【问题描述】:
我创建了一个主题的 WordPress 子主题,该主题在 body 标签中设置字体大小,如下所示
body {
font-size: 16px;
font-size: 1rem;
}
这更像是一个 CSS 问题,但对于那些不太熟悉 WordPress 的人来说:我无法更改父主题中的样式,因为这是不好的做法,并且会被任何更新覆盖。所以必须接受他们在那里设置的内容并用我自己的样式表覆盖它。
但是,众所周知,上述做法是不好的做法,因为它不允许用户更改浏览器中的字体大小,也没有考虑到并非所有浏览器都有其基本字体-大小设置为 16 像素。
我可以在子主题中做什么来取消设置?我宁愿这样设置:
body {
font-size: 0.625em
}
然后用 REM 设置每个元素的实际大小。但是,EM 值似乎没有覆盖父主题中设置的 PX 值。
有没有办法“取消设置”父母硬编码的字体大小?
【问题讨论】:
-
是否将
16px更改为例如8px真的做点什么吗?我猜1rem只是覆盖16px并且 px 值只是不支持 rem 的浏览器的后备。所以你的规则应该已经用0.625em覆盖它。 -
我进行了快速测试,将主体的
font-size设置为0.625em,然后在源顺序中将其设置为1rem; 16px。它完全按照我的预期工作:即,0.625em覆盖了先前的定义(假设它在该声明之后)。我很困惑为什么您在测试中没有看到这一点。此外,CSS 有一个unset属性,但您在这里似乎不需要它。body {font-size: unset} -
如果包含
body { font-size: 0.625em}的样式表是在包含固定值的样式表之后加载的,那么它应该覆盖那个样式表。那么你确定它是以正确的顺序加载的吗?
标签: css wordpress pixel font-size