Что такое WebKit и как это связано с CSS?
совсем недавно я видел вопросы с тегом "webkit". Такие вопросы обычно имеют тенденцию быть веб-вопросами, связанными с CSS, jQuery, макетами, проблемами совместимости кросс-браузеров и т. д...
Так что же это за "webkit" и как он относится к CSS? Я также заметил много -webkit-...
свойства в исходном коде для различных веб-сайтов. Эти двое связаны между собой?
обновление
Так что из ответов до сих пор... WebKit-это HTML / CSS web движок рендеринга браузера для Safari / Chrome. Существуют ли такие движки для IE / Opera / Firefox и каковы различия, плюсы и минусы использования одного над другим? Могу ли я использовать функции WebKit в Firefox, например?
главный вопрос... Поддерживается ли WebKit IE?
обновление 2
все основные браузеры используют разные движки. Я думаю, это большая причина, почему существует так много проблем кросс-браузерной совместимости!
Итак, есть какой-то проект или движение к стандартному движку рендеринга, который будут использовать все браузеры? Будет ли HTML5 положить конец проблемам кросс-браузерной совместимости?
14 ответов:
Update: по-видимому, WebKit-это движок рендеринга веб-браузера HTML/CSS для Safari/Chrome. Существуют ли такие движки для IE / Opera / Firefox и каковы различия, плюсы и минусы использования одного над другим? Могу ли я использовать функции WebKit в Firefox, например?
каждый браузер поддерживается движком рендеринга для рисования веб-страницы HTML/CSS.
IE → Тризуб(снят с производства)- Edge → EdgeHTML (уборочная вилка трезубца)
- Firefox → Гекко
Опера → Престо(больше не использует Presto с февраля 2013 года, рассмотрим Opera = Chrome в настоящее время)- Safari → WebKit
- Chrome → Блинк (вилка WebKit).
посмотреть сравнение движков веб-браузера для списка сравнений в различных области.
главный вопрос... поддерживается ли WebKit IE?
изначально не.
дополнение к тому, что @KennyTM сказал:
- IE
- двигатель: Тризуб
- модели CSS-префиксов:
-ms
- края
- двигатель: EdgeHTML
- модели CSS-префиксов:
-ms
- Firefox
- двигатель: Гекко
- модели CSS-префиксов:
-moz
- Опера
- сафари
- двигатель: WebKit
- модели CSS-префикс:
-webkit
- хром
1) 12 февраля 2013 Опера (версия 15+) объявляет они отходят от своего собственного движка Presto к WebKit с именем Блинк.
2) В Апреле 3 2013 Google (Chrome version 28+)объявляет они собираются использовать WebKit-based Блинк двигатель.
Webkit-это движок рендеринга веб-браузера, используемый Safari и Chrome (среди прочих, но это популярные).
The
-webkit
префикс на селекторах CSS-это свойства, которые только этот двигатель предназначен для обработки, очень похож на-moz
свойства. Многие из нас надеются, что это пройдет, например-webkit-border-radius
будет заменен на стандартныйborder-radius
и вам не понадобится несколько правил для то же самое вещь для нескольких браузеров. Это действительно результат" предварительной спецификации " функций, которые предназначены для того, чтобы не мешать стандартной версии, когда это происходит.для вашего обновления: ... нет, это не связано с IE на самом деле, т. е. по крайней мере, до 9 использует другой движок рендеринга под названием Тризуб.
на это был дан ответ и принят, но если кто-то все еще задается вопросом, почему сегодня все немного испорчено, вам придется прочитать это:
http://webaim.org/blog/user-agent-string-history/
Это дает хорошее представление о том, как развивались gecko, webkit и другие основные движки рендеринга и что привело к текущему состоянию запутанных строк пользовательского агента.
цитирование последнего абзаца для целей TL; DR:
и затем Google построил Chrome, а Chrome использовал Webkit, и это было похоже на Safari, и хотел, чтобы страницы были построены для Safari, и поэтому притворялся Safari. И таким образом использовать хром в WebKit, и притворился сафари, и WebKit притворился ХТМЛ, а ХТМЛ прикинулся Гекко, и все браузеры притворился 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
, и строка агента пользователя была полным беспорядком и почти бесполезной, и все притворялись всеми остальными, и путаница изобиловала.
главный вопрос... Поддерживается ли WebKit IE?
вид. Проверьте Хромированная Рама, это плагин для Internet Explorer, который позволяет использовать движок Webkit. Единственная причуда заключается в том, что вы должны убедить своих посетителей установить плагин.
обновление
хромированная рамка больше не поддерживается и не поддерживается...
WebKit-это движок макета, предназначенный для Разрешить веб-браузеры для визуализации веб-страниц страницы. Движок WebKit обеспечивает набор классов для отображения веб-контента в windows, и реализует браузер такие функции, как следующие ссылки, когда кликает пользователь, управляющий список назад-вперед и управление a история недавно посещенных страниц.
WebKit изначально был создан как вилка ХТМЛ как движок компоновки для Safari от Apple; это портативный для многих другие вычислительные платформы. Также используется в браузере Google Chrome.
в WebKit в JavaScriptCore компоненты доступны под GNU Меньшая общая общественная лицензия, и остальная часть WebKit доступна под a Лицензия в стиле BSD.источник Википедия
дополнительную информацию о движках компоновки вы можете посмотреть здесь
Webkit-это движок рендеринга HTML, используемый Chrome и Safari.
Он поддерживает ряд пользовательских свойств CSS, которые начинаются с
-webkit-
.
Webkit-это движок рендеринга html/css, используемый в браузере Safari от Apple и в Chrome от Google. префиксы значений css с-webkit-специфичны для webkit, обычно это CSS3 или другие нестандартные функции.
чтобы ответить на обновление 2 w3c-это тело, которое пытается стандартизировать эти вещи, они пишут правила, а затем программисты пишут свой механизм рендеринга для интерпретации этих правил. Таким образом, в основном w3c говорит, что DIVs должен работать "таким образом", тогда engine-writer использует это правило для напишите свой код, любые ошибки или неправильные интерпретации правил вызывают проблемы совместимости.
общая проблема, с которой я столкнулся как дизайнер веб-сайтов, заключается в том, что многие люди используют IE6+. Обычно ничего особенного, за исключением CSS, мне нужно добавить несколько синтаксисов рендеринга для разбора каждого запроса в браузере. Было бы очень хорошо, если бы существовала универсальная настройка рендеринга для CSS, которую IE может читать так же легко, как Chrome/FF/Opera и webkit. Проблема с IE заключается в том, что если я не использую все правильные стили CSS и рендеринг, то мои веб-сайты выглядят и отлично работают с каждым браузером, кроме IE. Этот может сделать для несчастного, несгибаемого клиента IE.
пример таков: допустим, мне нужна 1px, серая граница с радиусом границы 10%. Для Chrome и других я использую свойство webkit. Теперь, для IE, я должен добавить отдельные стили CSS, используя простые старые значения CSS "border: 1px solid #E5E5E5" и "border-radius: 10%". Положительный результат не всегда гарантирован за всех версиях браузера IE, но по большей части этот метод отлично работает для меня и многих других.
-webkit-это просто группа, в которую входят браузеры Chrome, Safari, Opera и iOS. Все они имеют общего предка, поэтому часто их возможности/ограничения (когда дело доходит до запуска CSS и Javascript) ограничены группой.
разработчик разместит-webkit-с последующим некоторым кодом, что означает, что код будет работать только в браузерах Chrome, Safari, Opera и iOS. Вот полный список:
-webkit - (Chrome, Safari, новые версии Opera, почти все iOS браузеры (включая Firefox для iOS); в основном, любой браузер на основе WebKit) - moz - (Firefox) - o- (старый, pre-WebKit, версии Opera) - ms - (Internet Explorer и Microsoft Edge)
несмотря на то, что это более старая запись, существует также другой способ визуализации для более старых версий Internet Explorer. - webkit будучи префиксом поставщика CSS, вы также можете загрузить несколько приложений JS и разместить их в нижней части головы HTML.
попробуйте использовать Modernizr, HTML5 Shiv и ответить.js. Это удивительные IE совместимые скрипты polyfill, которые используют polyfills и другие ресурсы, которые помогут лучше отображать элементы HTML5 в IE9 и Под.
чтобы использовать эти полифиллы, просто добавьте логическую логику HTML, чтобы разместить их, если браузер меньше, чем версия IE желания. Пример кода:
<head> <!-- HEAD Elements --> <script src="path/to/modernizr.js" type="text/javascript"></script> <!--[if lt IE 6]> <script src="path/to/HTMLSiv.js" type="text/javascript"> </script> <script src="path/to/respond.js" type="text/javascript"> </script> <![endif]--> </head>
хорошая документация о
WebEngines
особенноwebKit
и его разработчики вы можете прочитать на: WebKit
Webkit-это движок рендеринга, используемый в популярных браузерах Safari и Chrome, а также других Каждый браузер поддерживается движком рендеринга для рисования веб-страницы HTML/CSS.
тоесть → трезубец (снят с производства) Edge → EdgeHTML (вилка очистки трезубца) Firefox → Gecko Opera → Presto (больше не использует Presto с февраля 2013 года, рассмотрим Opera = Chrome в настоящее время) Safari → WebKit Chrome → Blink (вилка WebKit).