我要求根据用户输入的条目更改应用程序中的字体大小?我知道CSS变量并在所有类中使用它,但这对浏览器的支持有限。
例如,用户更喜欢14px,然后所有控件和文本字体大小都应更改为14px。
您能否告诉我如何实现这一目标?
答案 0 :(得分:1)
在REM中使用font-size。 1 Rem使用了html的基本字体大小。看到这段代码
var html = document.getElementsByTagName('html')[0];
var input = document.getElementById('font-size');
input.addEventListener('input', function(e) {
html.style.fontSize = ""+e.target.value+"px";
console.log(html.style.fontSize)
})

html {
font-size: 16px;
}
p {
font-size: 2rem;
}

<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Obcaecati rerum numquam, dolorem ad ducimus. Commodi provident mollitia labore voluptatum itaque quasi eligendi, ipsam obcaecati nostrum cum aperiam doloremque ab consectetur?<p>
<input id="font-size" type="text" value="">
&#13;
答案 1 :(得分:1)
如果您动态地将font-size赋予body,则可以实现此
function setFont()
{
var x = document.getElementById("font");
if(!(x.value>0))
{
alert("Enter valid input");
}
else
{
document.getElementsByTagName("body")[0].style.fontSize=x.value +"px" ;
}
}
&#13;
<input id="font" placeholder="Enter Font size" type="number" />
<input type="button" value="Set" onclick="setFont()"/>
<p>Example paragraph</p>
&#13;
答案 2 :(得分:0)
var a = document.getElementById('text');
var inp = document.getElementById('font-size');
var btn = document.getElementById('btn')
btn.addEventListener('click',function(){
x = window.getComputedStyle(a, null).getPropertyValue('font-size');
currentsize = parseFloat(x)
a.style.fontSize = (inp.value) + 'px';
})
&#13;
<p id='text'>text content <p>
<input id="font-size" type="text" value="">
<button id='btn'>set</button>
&#13;