Что такое WebKit и как он связан с CSS? - PullRequest
234 голосов
/ 12 августа 2010

В последнее время я вижу вопросы с тегом "webkit".Такие вопросы, как правило, представляют собой вопросы на основе веб-технологий, касающиеся CSS, jQuery, макетов, проблем совместимости с различными браузерами и т. Д.Я также заметил много -webkit-... свойств в исходном коде для различных сайтов.Связаны ли эти два?

Обновление

Итак, из ответов на данный момент ... WebKit - это движок рендеринга веб-браузера HTML / CSS для Safari / Chrome.Существуют ли такие движки для IE / Opera / Firefox и каковы различия, плюсы и минусы использования одного над другим?Могу ли я использовать функции WebKit в Firefox, например?

Главный вопрос ... Поддерживается ли WebKit в IE?

Обновление 2

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

Итак, есть ли какой-то проект или движение к стандартному движку рендеринга, который будут использовать ВСЕ браузеры?Сможет ли HTML5 положить конец проблемам кросс-браузерной совместимости?

Ответы [ 14 ]

141 голосов
/ 12 августа 2010

Обновление: очевидно, WebKit - это движок рендеринга веб-браузера HTML / CSS для Safari / Chrome. Существуют ли такие движки для IE / Opera / Firefox и каковы различия, плюсы и минусы использования одного над другим? Могу ли я использовать функции WebKit в Firefox, например?

Каждый браузер поддерживается механизмом рендеринга для рисования веб-страницы HTML / CSS.

  • IE & rarr; Трезубец (снят с производства)
  • Edge → EdgeHTML (очистительная вилка Trident)
  • Firefox & rarr; Gecko
  • Opera & rarr; Presto (с февраля 2013 года Presto больше не используется, рассмотрим Opera = Chrome в настоящее время)
  • Safari & rarr; WebKit
  • Chrome & rarr; Мигает (форк WebKit).

См. Сравнение движков веб-браузера для списка сравнений в различных областях.

Главный вопрос ... поддерживает ли WebKit IE?

Не изначально.

91 голосов
/ 12 августа 2010

В дополнение к тому, что @ KennyTM сказал:

1) 12 февраля 2013 года Opera (версия 15+) объявитьs они переходят от своего собственного движка Presto к WebKit с именем Blink .

2) 3 апреля 2013 г. Google (Chrome версия 28+) объявляет , что они собираются использовать движок Blink на базе WebKit.

3) 6 декабря 2018 года Microsoft (предварительная сборка готова в начале 2019 года) объявляет , что они собираются использовать основанный на WebKit механизм Blink .

34 голосов
/ 12 августа 2010

Webkit - это движок рендеринга в веб-браузере, используемый Safari и Chrome (среди прочих, но это популярные).

Префикс -webkit в селекторах CSS - это свойства, которые only предназначен для обработки этим механизмом, очень похожий на -moz свойства. Многие из нас надеются, что это исчезнет, ​​например, -webkit-border-radius будет заменен стандартным border-radius, и вам не понадобятся несколько правил для одного и того же для нескольких браузеров. Это на самом деле результат «предварительных спецификаций», которые не должны мешать стандартной версии, когда она появляется.

Для вашего обновления: ... нет, это на самом деле не связано с IE, IE по крайней мере до 9 использует другой механизм рендеринга под названием Trident .

32 голосов
/ 20 сентября 2012

На это уже получен ответ, но если кто-то все еще задается вопросом, почему вещи сегодня немного запутались, вам придется прочитать это:

http://webaim.org/blog/user-agent-string-history/

Это даетхорошая идея о том, как эволюционировали gecko, webkit и другие основные механизмы рендеринга и что привело к текущему состоянию испорченных строк агента пользователя.

Цитирование последнего абзаца для целей TL; DR:

А потом Google создал Chrome, а Chrome использовал Webkit, и он был похож на Safari, и хотел, чтобы страницы создавались для Safari, и поэтому притворялся Safari.Таким образом, Chrome использовал WebKit и претендовал на звание Safari, а WebKit - на KHTML, а KHTML - на Gecko, а все браузеры - на Mozilla, и Chrome называл себя Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13, а строка агента пользователя была полнойбеспорядок, и почти бесполезный, и все притворялись, что все остальные, и смятение изобиловало.

7 голосов
/ 21 сентября 2010

Главный вопрос ... Поддерживается ли WebKit в IE?

Вид. Проверьте Chrome Frame , это плагин для Internet Explorer, который заставляет его использовать движок Webkit. Единственная странность в том, что вы должны убедить своих посетителей установить плагин.

Обновление

Chrome Frame больше не поддерживается и не поддерживается ...

6 голосов
/ 12 августа 2010

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

WebKit изначально был создан как форк KHTML как движок для Apple Safari;он переносим на многие другие вычислительные платформы.Он также используется в браузере Google Chrome.

Компоненты WebKit и JavaScriptCore WebKit доступны под лицензией GNU Lesser General Public License, а остальная часть WebKit доступна под лицензией в стиле BSD.

Источник Википедия

Для получения дополнительной информации о механизмах компоновки вы можете посмотреть здесь

5 голосов
/ 12 августа 2010

Webkit - это механизм рендеринга HTML, используемый в Chrome и Safari.

Он поддерживает ряд пользовательских свойств CSS, которым предшествует -webkit-.

4 голосов
/ 22 июля 2018

-webkit- - это просто группа, в которую вписываются браузеры Chrome, Safari, Opera и iOS.Все они имеют общего предка, поэтому часто их возможности / ограничения (когда дело доходит до запуска CSS и Javascript) ограничены группой.

Разработчик помещает -webkit-, сопровождаемый некоторым кодом, что означает, чтокод будет работать только в браузерах Chrome, Safari, Opera и iOS.Вот полный список:

-webkit- (Chrome, Safari, более новые версии Opera, почти все браузеры iOS (включая Firefox для iOS); в основном, любой браузер на основе WebKit)

-moz- (Firefox)

-o- (старая версия, предшествующая WebKit, версии Opera)

-ms- (Internet Explorer и Microsoft Edge)

4 голосов
/ 12 августа 2010

Webkit - это механизм рендеринга html / css, используемый в браузере Apple Safari и в Google Chrome. Префиксы css values ​​с -webkit- специфичны для webkit, обычно это CSS3 или другие нестандартизированные функции.

чтобы ответить на обновление 2 w3c - это орган, который пытается стандартизировать эти вещи, они пишут правила, а затем программисты пишут свой механизм рендеринга, чтобы интерпретировать эти правила. Таким образом, в основном, w3c говорит, что DIV должны работать «таким образом», тогда создатель движка использует это правило для написания своего кода, любые ошибки или неправильные интерпретации правил вызывают проблемы совместимости.

4 голосов
/ 12 августа 2010

Webkit - движок рендеринга, используемый в популярных браузерах Safari и Chrome, а также в других.

...