当像transform
这样的CSS属性留空时会发生什么,即
element.style.transform = "";
检查这个小提琴 - https://jsfiddle.net/e85odhjf/
在javascript部分,我离开了left.style.transform =""在back()函数中(由onmouseout控制),因此它将形状恢复为原始形式。
答案 0 :(得分:1)
当您从样式属性中清除声明时,您将删除declared value:
每个属性声明applied to an element都有助于 与该元素关联的该属性的声明值。有关详细信息,请参阅Filtering Declarations。
此外,这是一个声明值高specificity:
每个声明都与它出现的样式规则具有相同的特异性 in。出于本步骤的目的,不属于a的声明 样式规则(例如contents of a style attribute)是 被认为具有比任何选择者更高的特异性。该 具有最高特异性的声明获胜。
因此,您要删除的值可能是cascaded value:
级联值代表the cascade的结果:它是 赢得级联的declared value(首先在 output of the cascade)。
在这种情况下,所有cascaded,specified,computed和used值都可能会发生变化。
如果没有其他声明的值,则级联的输出将为空列表,并且不会有级联值。然后指定的值将是defaulting processes。
的结果在您的情况下,由于transform
不是继承属性,因此将使用其初始值。也就是transform: none
。这将“将形状恢复原状”。