我正在构建一个Windows商店应用程序,该应用程序在该css中具有默认css和默认字体大小。我允许用户从设置屏幕自定义字体大小,并且该首选项存储在本地设置中。如何更新我的应用以反映新的字体大小?目前有哪些模式?这是一个Html5 / js应用程序。我可以简单地从更改事件重新加载css值吗?
答案 0 :(得分:1)
当您的应用启动时,请从本地设置中读取字体大小,然后使用JavaScript设置文档的字体大小:
document.body.style.fontSize = fontSizeFromSettings;
当应用程序正在运行且用户更改字体大小时,也请调用上面的行。您可以在将代码保存到本地设置的代码后立即执行此操作。
当然,您也可以使用document.getElementById("myId").style.fontSize
更改单个元素的字体大小。
答案 1 :(得分:0)
我把它读作已经定义了类选择器的OP,比如
.myclass
{
font-size: 36px;
}
并希望将.myclass
选择器的所有元素修改为新值,例如72px。如果这是意图,那么你可以动态修改CSS。
这是一个简单的(脆弱的,不适合生产)函数,它在已知的CSS文件中查找特定的样式选择器并在运行中对其进行修改。您可能会对此进行概括,请查看Changing External Stylesheets和How to change CSS Stylesheets with JavaScript以获取更多详细信息。
function updateFontSize(newFontSize) {
for (var i = 0; i < document.styleSheets.length; i++) {
if (document.styleSheets[i].href.indexOf("default.css") >= 0) {
var mySheet = document.styleSheets[i];
for (var r in mySheet.cssRules) {
if (mySheet.cssRules[r].selectorText == ".myclass") {
var myRule = mySheet.cssRules[r];
myRule.style.fontSize = newFontSize;
return;
}
}
}
}
};
然后在某个地方你称它为(当然没有硬编码值):
updateFontSize("128px");