Почему производители браузеров создают свои собственные свойства CSS? - PullRequest
4 голосов
/ 13 марта 2010
  • Почему производители браузеров делают свои собственные свойства CSS, даже они знают эти свойства не пройдет валидацию w3c до одобрения и добавления w3c?
  • Какова цель? Для своих тестирование, или для веб-разработчиков, или для продемонстрировать возможности браузера миру и организациям W3C а команде CSS разработки W3C?
  • это как бета-версия демонстрация
  • если я использую какой-либо браузер на данный момент могут ли они удалить эту собственность поддержка из будущих версий. Буду ли я редактировать свой CSS в будущем

Например:

https://developer.mozilla.org/en/CSS_Reference/Mozilla_Extensions

Ответы [ 6 ]

4 голосов
/ 13 марта 2010
  • Ответственные поставщики браузеров (крупные, за исключением IE) знают, как будет выглядеть сеть через несколько лет. Я не знаю, где вы получаете часть "не пройти". Они реализуют только то, что браузеры будут поддерживать через несколько лет
  • Речь идет о предоставлении инструментов для проектирования Интернета для современных и будущих браузеров.
  • Да, мы можем сказать, что это бета.
  • Да и нет, вряд ли они уберут поддержку части расширений.

То, о чем думает W3C - это синтаксис. Давайте возьмем градиент для примера:

-webkit-gradient(
    linear,
    left bottom,
    left top,
    color-stop(0.2, rgb(86,45,199)),
    color-stop(0.6, rgb(112,72,239))
)
-moz-linear-gradient(
    center bottom,
    rgb(86,45,199) 20%,
    rgb(112,72,239) 60%
)

Оба эти кода генерируют один и тот же градиент. Как видите, стандартной процедуры не существует, синтаксис запутанный и разный для браузеров на базе webkit и mozilla.

Но давайте представим, что через два-три года реализация будет завершена. Теперь вам просто нужно добавить еще одну строку кода для стандарта.

gradient: center bottom #colorFrom opacityFrom #colorTo opacityTo;

Теперь оба движка будут понимать градиентную характеристику, и, если она указана после расширенных, будет интерпретироваться эта последняя.

1 голос
/ 25 ноября 2010

Стандартный процесс не работает так:

  1. Спецификация написана
  2. Браузеры реализуют спецификации
  3. Все это пони и радуга

Как и любой ИТ-проект, спецификация написана, затем реализованы ее фрагменты, а затем спецификация изменена на основе уроков, извлеченных в ходе реализации. Это тонкий танец, как сказал Роберт О'Каллахан .

Выполнение начальных реализаций с префиксами поставщика означает, что если спецификация будет изменена позже, существующий код, написанный для существующих реализаций, не сломается.

Префиксы поставщиков также позволяют производителям браузеров экспериментировать только ради этого, что может привести к довольно хорошим вещам, таким как градиенты Safari.

0 голосов
/ 13 марта 2010

Я не знаком со спецификой эволюции стандартов CSS, можно предположить, что ниже приведены основные причины, по которым производители «выходят за рамки» стандартов.

  • Стандартное составление документов - это длительный, медленный процесс (часто по веским причинам), и этот темп не является удовлетворительным в быстро меняющейся, жаркой конкурентной среде.
  • Иногда это способ продемонстрировать потенциальные новые функции с целью либо подтвердить их действительность, либо оказать давление на орган стандартизации, чтобы включить их ретроактивно.

Эффективно обходя установленный процесс стандартизации, приведенные выше драйверы, вероятно, хорошо понимают и учитывают все большее. К сожалению, есть менее благородные причины:

  • Для производителей, которые имеют критическую массу рынка, это дает возможность сделать продукт несколько совместимым, но с дополнительными функциями, и такие функции затем можно использовать как способ усложнить работу пользователей и / или разработчиков. переключиться (следовательно, оба гарантируют верность пользователей и, возможно, обеспечивают стимулы для других пользователей, чтобы попробовать их продукт, следовательно, увеличивая их долю на рынке.)
  • Для производителей со слабой рыночной позицией это может быть способом сделать то же самое. Поскольку такие производители считают, что им мало что можно выиграть (или сэкономить), строго придерживаясь стандарта, они пытаются изобрести новую функцию и руководить ею.
0 голосов
/ 13 марта 2010

Mozilla имеет расширения, которые, вероятно, будут в следующем стандарте CSS, только на шаг впереди. когда эти свойства будут стандартными, используйте их без префикса moz, чтобы поддерживать более одного браузера.

0 голосов
/ 13 марта 2010

Они делают это по нескольким причинам:

  1. Как вы сказали, продемонстрируйте уникальные возможности браузера
  2. Отображение определенных поведений браузера - воспринимайте эти свойства как API
  3. Создайте липкость - если у вас много кода, опирающегося на собственные свойства, вы «привязаны» к браузеру.

И да, к сожалению, эти свойства могут измениться или даже исчезнуть в будущих версиях, что потребует изменения кода. Итог: придерживайтесь стандартов или, по крайней мере, помните, что любая текущая блестящая функция имеет будущую цену.

0 голосов
/ 13 марта 2010

они в основном находятся в стадии разработки, например, css2-> css3, но, поскольку браузер еще не поддерживает его (например, css3), он имеет другие имена.

...