次のことをお勧めします。
document.getElementById('display-date').style.fontSize = '2em'; // or whatever measurement.
そして、少し時間があったので、関数を次に示します。
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;
}
}
次のように呼び出します。
fontSizeChange('display-date', 3);
JS フィドルのデモ。
または:
fontSizeChange(document.getElementById('display-date'), 4);
JS フィドルのデモ。
または (デフォルト設定を使用する場合は、引数を省略できfactor
ます):
fontSizeChange('display-date');
JS フィドルのデモ。
そしてもちろん、物事を縮小することもできます:
fontSizeChange('display-date',0.25);
JS フィドルのデモ。
もちろん、CSS を使用することもできます。
#display-date {
font-size: 2em;
}
JS フィドルのデモ。
document.querySelector()
サイズ変更を返された要素 ( / document.getElementById()
) または 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);
JS フィドルのデモ。
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);
JS フィドルのデモ。
参考文献: