假设我别无选择,只能使用绝对字体大小值,例如: font-size: x-large;
。根据许多文章,这种元素的确切字体大小取决于用户的偏好。我的问题(也许是愚蠢的)是:我可以强制使用一些自定义值而不是用户的偏好作为基础吗?
E.g。我有一个具有绝对大小值的给定HTML文档,我想在iframe(在同一个域下)内部渲染它,并将一些可配置的值作为字体库。因此,使用font-size" x-large"," medium"," small"等的元素会根据此基值更改其实际字体大小。它可能是有用的,例如只是为了演示这些字体值的工作原理。我能完成这个吗?如何?也许在窗口对象中有一个特定属性,例如" window.fontSizePreference" - 谁知道......
答案 0 :(得分:1)
如果已声明absolute
值,并且您只想使用length
值替换它,则可以选择几个选项。
通过更多specific覆盖 CSS 。如果您的代码使用以下方式声明值:
div.xlarge {
font-size: x-large;
}
您可以添加另一个CSS selector
来定位div
,CSS会使用两个值中更具体的值。例如,您可以添加body
或父容器:
body div.xlarge {
font-size: 12px; /* This would overwrite the x-large value above */
}
div div.xlarge {
font-size: 12px /* So would this */
}
.parentclass div.xlarge {
font-size: 12px; /* And this */
}
为了示例,我使用div
与父div
和父类同名.parentclass
。您还可以使用span
,p
,li
,ul
,a
等。
注意:从MDN了解有关Specificity的详情。
<小时/> 您还可以将样式内联添加到所需目标。例如,如果您的 HTML 是:
<div class="xlarge">My Text</div>
您可以像这样添加内联样式,它会覆盖font-size
CSS声明的值:
<div class="xlarge" style="font-size: 12px;">My Text</div>
<小时/> 我建议的最后一件事是使用
!important
标记来覆盖使用上述方法无法定位的 CSS 值。假设没有其他!important
声明,则最后!important
将强制 CSS 值。
div.xlarge {
font-size: 12px !important; /* Will override more specific CSS & Inline CSS */
font-size: x-large; /* Would be ignored */
注意:了解如何使用CSS-Tricks中的
!important
。
如果您尝试编辑iframe
,则这些解决方案都不适用于 CSS ,除非您可以控制iframe
内容。要编辑iframe
CSS ,只需快速搜索Stack Overflow,number solutions.