You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

设置font-size为inherit时input字号大于p标签的原因及相关问题求解

问题1:为什么input元素的font-size比p元素更大

你写的通配符规则* { font-size: inherit; }如果正常生效的话,input和p都会继承body的1.6rem(即16px)字号,计算值完全一致。出现大小差异通常是三个原因:

  • 没有加<meta name="viewport" content="width=device-width, initial-scale=1.0">视口标签,移动端Chrome会自动放大字号小于16px的输入框,避免用户点击时页面缩放,哪怕你写的是16px也可能触发这个机制
  • 视觉错觉:input默认自带内边距、边框,行高和p元素的默认行高不同,会显得文字更大,你可以去开发者工具的「计算样式」面板查看两个元素的font-size实际计算值,二者应该是相同的
  • 通配符规则被其他更高优先级的规则覆盖,检查Styles面板里input元素是否成功匹配到* { font-size: inherit; }这条规则

问题2:为什么在开发者工具中无法读取到input的font-size值

你大概率是查看的「Styles」面板,这个面板只会展示你主动通过行内样式、CSS样式表给元素设置的规则。如果要看到最终生效的font-size计算值,需要切换到「Computed(计算样式)」面板,所有元素的最终生效属性都可以在这里查到。

问题3:为什么JS获取document.getElementsByTagName("input")[0].style.fontSize返回空字符串

element.style只能读取到写在元素标签style属性里的行内样式,你是通过外部CSS样式表设置的字号,没有写行内样式,自然返回空。如果要获取元素最终生效的字号,用以下代码:

const input = document.querySelector('input')
const computedFontSize = window.getComputedStyle(input).fontSize
console.log(computedFontSize)

内容的提问来源于stack exchange,提问作者lll

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 05:39:01