我正在构建一个具有默认 css 和该 css 中默认字体大小的 Windows 商店应用程序。我允许用户从设置屏幕自定义字体大小,并且该首选项存储在本地设置中。如何更新我的应用程序以反映新的字体大小?有没有目前的模式?这是一个 Html5/js 应用程序。我可以简单地从更改事件中重新加载 css 值吗?
user1735607
问问题
78 次
2 回答
1
当您的应用启动时,从本地设置中读取字体大小,然后使用 JavaScript 设置文档的字体大小:
document.body.style.fontSize = fontSizeFromSettings;
当应用程序正在运行并且用户更改字体大小时,也调用上述行。您可以在将字体大小保存到本地设置的代码之后立即执行此操作。
当然,您也可以使用document.getElementById("myId").style.fontSize
.
于 2013-01-09T17:55:05.903 回答
0
我将其读为已定义类选择器的 OP,例如
.myclass
{
font-size: 36px;
}
并希望使用.myclass
选择器将所有元素修改为新值,例如 72px。如果这是意图,那么您可以动态修改 CSS。
这是一个简单(且脆弱,不适合生产)的函数,它在已知的 CSS 文件中查找特定的样式选择器并即时修改它。您可能会对此进行概括,请查看更改外部样式表和如何使用 JavaScript 更改 CSS 样式表以获取更多详细信息。
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");
于 2013-01-09T18:43:14.887 回答