如何在 JavaScript 中检索计算的字体大小
确定 DOM 元素的实际字体大小在各种场景中至关重要,例如自定义文本编辑器或设计响应式网页布局。这不仅需要考虑元素的显式样式,还要考虑继承的值和浏览器级设置。
解决方案
要获取计算的字体大小,您可以利用两种方法:
1。浏览器特定方法: currentStyle
对于 Internet Explorer,您可以使用非标准 currentStyle 属性:
element.currentStyle['fontSize']
请注意,属性名称包含连字符,例如 font-size、必须以驼峰式命名法(例如,fontSize)访问 currentStyle。
2.标准方法:getCompulatedStyle
对于所有其他浏览器和跨浏览器兼容性,您可以使用 DOM Level 2 标准 getCompulatedStyle 方法:
document.defaultView.getComputedStyle(element, null).getPropertyValue('fontSize')
实现示例
定义一个实用函数来获取style:
function getStyle(element, styleProp) { var camelize = function (str) { return str.replace(/\-(\w)/g, function(str, letter){ return letter.toUpperCase(); }); }; if (element.currentStyle) { return element.currentStyle[camelize(styleProp)]; } else if (document.defaultView && document.defaultView.getComputedStyle) { return document.defaultView.getComputedStyle(element,null) .getPropertyValue(styleProp); } else { return element.style[camelize(styleProp)]; } }
用法:
var element = document.getElementById('elementId'); getStyle(element, 'font-size');
其他提示
- 在访问 getCompulatedStyle 之前检查 document.defaultView 是否存在。
- 如果 currentStyle 和 getCompulatedStyle 都不可用,请使用element.style 检索内联 CSS 属性。
以上是如何在 JavaScript 中获取 DOM 元素的计算字体大小?的详细内容。更多信息请关注PHP中文网其他相关文章!

文章讨论了CSS FlexBox,这是一种布局方法,用于有效地对齐和分布响应设计中的空间。它说明了FlexBox用法,将其与CSS网格进行了比较,并详细浏览了浏览器支持。

本文讨论了使用CSS创建响应网站的技术,包括视口元标签,灵活的网格,流体媒体,媒体查询和相对单元。它还涵盖了使用CSS网格和Flexbox一起使用,并推荐CSS框架

本文讨论了CSS盒装属性,该属性控制了元素维度的计算方式。它解释了诸如Content-Box,Border-Box和Padding-Box之类的值,以及它们对布局设计和形式对齐的影响。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

禅工作室 13.0.1
功能强大的PHP集成开发环境

Atom编辑器mac版下载
最流行的的开源编辑器

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器