当未定义 CSS font-face
和 font-size
属性时,如何获取元素的实际字体和字体大小?
例如,JavaScript 片段
object.style.fontFamily
不返回任何值。这很明显,假设 CSS 没有在任何地方将样式应用于 object
。但是,当然,某种字体用于呈现文本,可能是系统字体或网络浏览器默认字体。
那么,例如,JavaScript 可以获取渲染的字体吗?
最佳答案
我建议这个函数:
function css( element, property ) {
return window.getComputedStyle( element, null ).getPropertyValue( property );
}
用法:
css( object, 'font-size' ) // returns '16px' for instance
注意:getComputedStyle
在 IE8 中不起作用。
现场演示: http://jsfiddle.net/4mxzE/
console.log(
getComputedStyle(document.getElementById('test'), null)
.getPropertyValue('font')
)
#test {
font-family: fantasy, cursive;
}
<div id="test">Lorem ipsum dolor sit font-face</div>
关于javascript - 未在 CSS 中定义时如何获取实际呈现的字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7444451/