js改变html font size,html - javascript change font size - Stack Overflow

I'd suggest the following:

document.getElementById('display-date').style.fontSize = '2em'; // or whatever measurement.

And, because I had a few moments, here's a function:

function fontSizeChange(elem, factor) {

if (!elem) {

return false;

}

else {

factor = factor || 2; // 2 is the default

elem = elem.nodeType && elem.nodeType === 1 ? elem : document.getElementById(elem);

var cur = window.getComputedStyle(elem, null).fontSize,

size = parseInt(cur.replace(/\D+/g,''),10),

unit = cur.replace(/\d+/g,'');

elem.style.fontSize = (size * factor) + unit;

}

}

Call like so:

fontSizeChange('display-date', 3);

Or:

fontSizeChange(document.getElementById('display-date'), 4);

Or (if you want to use the default setting, you can omit the factor argument):

fontSizeChange('display-date');

And, of course, you can shrink thngs too:

fontSizeChange('display-date',0.25);

You could also, of course, use CSS:

#display-date {

font-size: 2em;

}

An updated version that allows the resizing to be attached to a returned element (document.querySelector() / document.getElementById()) or a nodeList (document.getElementsByTagName() / document.querySelectorAll()):

Object.prototype.resize = function (prop, factor) {

if (prop) {

factor = parseFloat(factor) || 2;

var self = this.length ? this : [this],

cur, size, unit;

for (var i = 0, len = self.length; i < len; i++) {

var cur = window.getComputedStyle(self[i],null)[prop],

size = parseFloat(cur.replace(/\D/g,'')),

unit = cur.replace(/\d+/g,'');

self[i].style[prop] = (size * factor) + unit;

}

}

return this;

};

document.getElementsByTagName('div').resize('width',3);

document.getElementById('display-date').resize('font-size', 2.5);

Object.prototype.resize = function (prop, factor) {

if (prop) {

factor = parseFloat(factor) || 2;

var self = this.length ? this : [this],

cur, size, unit;

for (var i = 0, len = self.length; i < len; i++) {

var cur = window.getComputedStyle(self[i],null)[prop],

size = parseFloat(cur.replace(/\D/g,'')),

unit = cur.replace(/\d+/g,'');

self[i].style[prop] = (size * factor) + unit;

}

}

return this;

};

document.querySelectorAll('div').resize('height',3);

document.querySelector('#display-date').resize('font-size', 0.5);

References:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值