2016-05-16 3 views
-1

Что происходит, когда CSS свойство, как transform остается пустым, то есть проверкаатрибут стиля CSS оставил пустой

element.style.transform = ""; 

это fiddle- https://jsfiddle.net/e85odhjf/

В яваскрипта части, я оставил left.style. transform = "" в функции back() (контролируется onmouseout), поэтому она возвращает форму в исходную форму.

ответ

1

Когда вы очищаете декларацию от атрибута стиля, вы удаляете declared value:

Каждого объявление свойства applied to an element вносит объявленного значения для этого свойства, связанного с элементом. См. Filtering Declarations.

Кроме того, это заявленное значение с высокой specificity:.

Каждая декларация имеет такую ​​же специфичность, как правило стиля он появляется в Для этого шага, заявлений, которые не принадлежат 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. Это «вернет форму в исходную форму».