Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 样式表更新?_Javascript_Css - Fatal编程技术网

Javascript 样式表更新?

Javascript 样式表更新?,javascript,css,Javascript,Css,想知道如何更新样式表 这适用于我能够测试的任何地方,但不确定这是否是最佳解决方案: runDemo(); var css=document.getElementsByTagName(“样式”)[0]; getRule(css.sheet.rules,“div”)。 style.width=80/[4,5,7][parseInt(Math.random()*3)]+“%”; 函数getRule(规则,选择器){ for(规则中的var i){ if(规则[i].selectorText==选择器

想知道如何更新样式表

这适用于我能够测试的任何地方,但不确定这是否是最佳解决方案:

runDemo();
var css=document.getElementsByTagName(“样式”)[0];
getRule(css.sheet.rules,“div”)。
style.width=80/[4,5,7][parseInt(Math.random()*3)]+“%”;
函数getRule(规则,选择器){
for(规则中的var i){
if(规则[i].selectorText==选择器)
返回规则[i];
}
返回null;
}
函数runDemo(){
对于(var i=Math.random()*10+5;i>0;i--){
var d=document.createElement(“div”);
d、 innerText=parseInt(i+1);
文件.正文.附件(d);
}
}
正文{
显示器:flex;
柔性流:行换行;
}
div{
利润率:10px;
填充:3;
文本对齐:居中;
边框:1px纯蓝色;

}
我不建议以这种方式编辑样式规则。最好是添加或删除整个样式表。这种方式将更容易体现你的风格


您可以在这里了解如何做到这一点:

通常,您需要根据稍后在JS中提供的源计算一些内容。我在这里找到了解决方案,没有太多理由添加动态计算css。在几乎所有情况下,os better tô为您需要的每个显示都提供css,并动态更改标记类,而不是css本身。但是,如果您确实需要使用动态css,请仅针对这些严格的情况。剩下的时间里,你更喜欢只更改标签中的类,或者更改样式表,以实现更大的样式更改。如果你需要显示未知大小或形状的数据,你需要计算一些神奇的数字-用户数据驱动的SPA有时很难使用固定样式进行管理。真的。但您使用的是css flex布局。使用flex,您不需要固定的数字。布局可以自动适应内容。以下是一篇关于这方面的好文章:媒体查询也将帮助您: