Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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 CSS新类不重写特定的元素样式?_Javascript_Css - Fatal编程技术网

Javascript CSS新类不重写特定的元素样式?

Javascript CSS新类不重写特定的元素样式?,javascript,css,Javascript,Css,在以下代码中,div“main”从类“main1”切换到“main2”。 测试表明,新等级已应用(尺寸从100x200变为200x100), 但是,新类不会覆盖先前指定给div的背景色。 这是正常的行为吗 .main1{宽度:100px;高度:200px;背景色:黄色;} .main2{宽度:200px;高度:100px;背景色:橙色;} 函数start(){ document.getElementById(“main”).style.backgroundColor=“绿色”; docume

在以下代码中,div“main”从类“main1”切换到“main2”。 测试表明,新等级已应用(尺寸从100x200变为200x100), 但是,新类不会覆盖先前指定给div的背景色。 这是正常的行为吗


.main1{宽度:100px;高度:200px;背景色:黄色;}
.main2{宽度:200px;高度:100px;背景色:橙色;}
函数start(){
document.getElementById(“main”).style.backgroundColor=“绿色”;
document.getElementById(“main”).className=“main2”;
}

内联样式(
绿色
)比样式具有更高的优先级。(
黄色
橙色
。因此,在这种情况下将应用内联样式,除非您有一个更具先例的选择器使用
!重要

检查以下答案:
因为内联CSS是先加载的,如果有任何您想要应用背景色:橙色的方式,那么添加!important背景色:橙色!important;

是,因为将首先加载div CSS。CSS专用性规则声明内联样式比任何样式表样式具有更高的专用性
document.getElementById(“main”).style.backgroundColor=“green”
规定了要清除的规则…
!重要信息
是重写内联样式属性的唯一方法