Почему Firefox 16 изменил направление моих линейных градиентов?
Пример CSS:
background-image: -moz-linear-gradient(90deg, #e8f0ff, #ffffff);
background-image: -ms-linear-gradient(90deg, #e8f0ff, #ffffff);
background-image: -o-linear-gradient(90deg, #e8f0ff, #ffffff);
background-image: -webkit-linear-gradient(90deg, #e8f0ff, #ffffff);
background-image: linear-gradient(90deg, #e8f0ff, #ffffff);
Это привело к линейному градиенту, идущему от #e8f0ff
внизу, до #fff
вверху.
Post-Firefox 16 (выпущенный несколько дней назад), теперь градиент идет от #e8f0ff
слева, до #fff
справа.
Когда я удаляю специфический для поставщика CSS и оставляю только:
background-image: linear-gradient(90deg, #e8f0ff, #ffffff);
Ничего не происходит. Но когда я удаляю эту строку и оставляю только специфические для вендора стили:
background-image: -moz-linear-gradient(90deg, #e8f0ff, #ffffff);
background-image: -ms-linear-gradient(90deg, #e8f0ff, #ffffff);
background-image: -o-linear-gradient(90deg, #e8f0ff, #ffffff);
background-image: -webkit-linear-gradient(90deg, #e8f0ff, #ffffff);
Он исправляет проблему.
Итак, что здесь происходит в FF16? Значения Xdeg
, начиная с нового направления, объединяются ли они только в определенных ситуациях? Я не могу понять, почему он будет делать 180deg
с обоими или только с общим, но только с 90deg
, если это только поставщик.
Вопрос в том, каковы особенности этого нового поведения в Firefox и какое самое широкое, большинство стандартов, совместимое с решениями для веб-сайтов, которые теперь имеют свои градиенты в FF16, неправильно?
Ответы
Ответ 1
Стандарт определяет, что углы измеряются по часовой стрелке, начиная с 0 & deg; = вверх.
с использованием углов
В целях этого аргумента "0deg указывает вверх, а положительные углы представляют вращение по часовой стрелке, поэтому" 90deg point [sic] " право.
-moz-linear-gradient
, с другой стороны, использует полярные координаты (внимание мое):
Последнее семантическое любопытство все еще существует между префиксными вариантами и предложением без предварительного предложения. После первоначального предложения Apple префиксные варианты синтаксиса используют an <angle>
, определенные как полярные углы, то есть с 0deg, представляющим Восток. Чтобы быть согласованным с остальной частью CSS, спецификация определяет угол с 0deg, представляющий Север. Чтобы сайты, использующие префиксную версию этого свойства, внезапно нарушались, даже при адаптации к окончательному синтаксису, совместимому с будущим, они сохраняют исходное определение угла (0дег = Восток). Они будут переключаться на правильную спецификацию при непредсказующем свойстве. Кроме того, поскольку они не являются несовместимыми, Gecko поддерживает, префикс, как синтаксис с ключевым словом, так и без него. И здесь синтаксис без ключевого слова будет удаляться при непрозрачности.
Ответ 2
Простым взломом может быть использование ключевого слова bottom
вместо градусов.