오래된 CSS 브라우저를 정의합니다. CSS-브라우저 접두사

이 기사에서는 브라우저 접두사가 무엇인지, 그 이유와 CSS에서 사용하는 방법을 살펴 보겠습니다.

접두사 란 무엇입니까?

CSS의 이론적 기초를 배우기 시작하고 실제로 이러한 지식을 사용하는 웹 개발자는 실제 예제를 볼 때 문제가 발생할 수 있습니다. 이것은 그에게 무슨 일이 일어나고 있는지 이해하지 못하고이 기술을 연구하려는 더 많은 욕구를 좌절시킬 수 있습니다.

예를 들어 웹 사이트의 스타일을 고려할 때 웹 개발자는 앞에 모호한 단어가 포함 된 속성 (-webkit-, -moz-, -ms- 등)이 발생할 수 있습니다.

   * (-webkit-box-sizing : border-box; -moz-box-sizing : border-box; 상자 크기 : border-box;)

이게 뭐야? 사실, 모든 것이 간단하며, 모호한 단어는 다음 브라우저의 접두사입니다.

  • -webkit- : 브라우저 Chrome, Safari, Opera;
  • -moz- : Mozilla Firefox 브라우저;
  • -ms- : Internet Explorer 브라우저.

따라서 속성 이름 앞에 접두사가 있으면이 속성이 구현되어 지정된 브라우저에서만 사용됩니다. 다른 모든 브라우저는이 속성을 무시합니다. 그들에게는이 접두사를 알 수 없습니다.

접두사가 나타나는 이유는 무엇입니까?

접두사가 나타나는 데는 여러 가지 이유가있었습니다.

  • 아직 표준에 의해 승인되지 않은 실험용 CSS 속성의 브라우저에 포함됩니다. 따라서 브라우저 제조업체는 표준에서 CSS 속성을 승인하기 전에 테스트하고 제안합니다.
  • 브라우저 간 문제를 해결합니다.
  • CSS 표준에 속하지 않지만 잠시 후에 표시 될 수있는 고유 한 속성을 만듭니다.

실험 속성이 표준에서 승인되고 브라우저에서 테스트를 통과하면 일반적으로 접두사가 제거됩니다.

접두사를 사용하는 방법?

다음 코드를 예로 들어 보겠습니다.

   * (-webkit-box-sizing : border-box; -moz-box-sizing : border-box; 상자 크기 : border-box;)

이 코드는 웹 페이지의 모든 요소에 대한 너비와 높이를 계산하기위한 알고리즘을 변경하는 CSS 속성을 사용합니다. border-box 값을 가진 첫 번째 CSS 속성 인 -webkit-box-sizing은 웹킷 (Safari) 또는 깜박임 엔진 (Chrome, Opera, Yandex.Browser)을 사용하는 브라우저를위한 것입니다. border-box 값을 가진 두 번째 CSS 속성 인 moz-box-sizing은 Gecko 엔진 (Mozilla Firefox)을 사용하는 브라우저를위한 것입니다. 마지막 CSS 속성은이 속성이 이미 표준에 따라 테스트되고 구현 된 브라우저를위한 것입니다.

CSS 속성에 접두사를 사용하는 경우 접두사없이 CSS 속성 앞에 배치해야합니다. 이것이 왜 중요한가? 한 번에 원래 속성 (접두사없이)이 브라우저에 구현되면 실험 버전이 아니라 마지막 속성이므로 사용되기 때문에 중요합니다.

예 : Chrome 버전 40에서 웹 페이지의 모든 요소에 CSS 속성 적용

위의 그림은 원래 상자 크기 속성이이 브라우저에 이미 포함되어 있으며 마지막 속성이므로 브라우저는 위의 -webkit-box-sizing 속성 대신이 속성을 사용합니다.

브라우저에서 특정 속성에 대한 지원을 확인하는 방법은 무엇입니까?

특정 브라우저에서이 속성이 구현되었는지 여부를 확인할 수있는 사이트는 아래 링크 일 수 있습니다. 또한이 사이트에는이 버전의 브라우저를 사용하는 사용자의 비율이 표시됩니다.

  웹 사이트 "사용할 수있는 ..."

예를 들어, 브라우저에서 변환 특성이 어떻게 구현되는지 확인하십시오.

CanIUse 웹 사이트에서 브라우저는 특정 특성 또는 태그에 대한 지원 상태에 따라 다른 색상으로 표시됩니다.

  • 빨간색 사각형은이 속성이 구현되지 않은 브라우저입니다.
  • 오른쪽 상단에 하이픈이있는 녹색 사각형은이 속성이 접두사를 통해 사용되는 브라우저입니다.
  • 연한 녹색 사각형은이 속성이 부분적으로 구현 된 브라우저입니다.
  • 녹색 사각형은이 속성이 표준에 따라 구현되는 브라우저입니다.

아시다시피, 모든 브라우저가 CSS 스타일 파일을 같은 방식으로 취급하지는 않습니다. 기본적으로 소규모 버전의 이전 버전에서는 문제가 발생합니다. 인터넷 익스플로러   (버전 7 이하). 그건 그렇고, 최신 브라우저 (예 : Opera, Mozilla Firefox, Chrome)에서 문제가 발생하면 적극 추천 페이지 레이아웃을 수정합니다.

자 여기 있습니다. 브라우저에 문제가 있습니다. 그리고 나는이 문제를 해결하는 적어도 세 가지 방법을 알고 있습니다.

첫 번째 방법. 가장 정확한

CSS를 올바르게 이해하지 못하는 브라우저 스타일은 별도의 파일로 작성됩니다. 내가 말했듯이 일반적 으로이 브라우저는 인터넷 익스플로러이 파일을 fix-ie.css

... ... ...

변경 이름 테마주제의 실제 이름과 열 때 인터넷 익스플로러   버전 7 이하-이 파일은 일반 스타일 파일 세트에 추가되며 캐싱이 사용 가능한 경우에도 캐시됩니다.

이 줄은 스타일 시트가 연결될 브라우저 버전을 담당합니다.

где styles.css - файл, который будет отвечать за стили только для IE .

Единственный известный на данный момент способ написать стили только для Google Chrome , используя при этом JavaScript . При этом не нужно знать JS , достаточно взять пример отсюда и адаптировать его под свои нужды.

Суть состоит в том, что мы проверяем, каким браузером пользуется посетитель сайта и если это Google Chrome , то подключаем для него дополнительный файл стилей, в котором нужные свойства, которые могут перекрываться в основном файле стилей, выделяем !important .

раздел, добавляем такие строчки, внутри тега ):

var isChrome = !!window.chrome && !!window.chrome.webstore; if (isChrome) { var $ = document; var cssId = "myCss"; var head = $.getElementsByTagName("head"); var link = $.createElement("link"); link.id = cssId; link.rel = "stylesheet"; link.type = "text/css"; link.href = "/css/template.css"; //путь к файлу стилей только для Chrome link.media = "all"; head.appendChild(link); }

Единственный известный на данный момент способ написать стили только для Opera , используя при этом JavaScript . При этом не нужно знать JS , достаточно взять пример отсюда и адаптировать его под свои нужды.

Суть состоит в том, что мы проверяем, каким браузером пользуется посетитель сайта и если это Opera , то подключаем для него дополнительный файл стилей, в котором нужные свойства, которые могут перекрываться в основном файле стилей, выделяем !important .

Синтаксис такой(в файле.php или.html , куда подключаем файл стилей,т.е. в раздел, добавляем такие строчки, внутри тега ):

var isOpera = !!window.opera || /opera|opr/i.test(navigator.userAgent); if (isOpera) { var $ = document; var cssId = "myCss"; var head = $.getElementsByTagName("head"); var link = $.createElement("link"); link.id = cssId; link.rel = "stylesheet"; link.type = "text/css"; link.href = "/css/template.css"; //путь к файлу стилей только для Opera link.media = "all"; head.appendChild(link); }

Единственное что вам тут нужно поменять это в 10 строчке путь до вашего файла стилей.

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

6.5K

Кроссбраузерность — это способность сайта корректно отображаться в различных браузерах. Ресурс должен работать одинаково во всех версиях обозревателей.

Особенно это важно в эпоху адаптивного веб-дизайна, когда на первый план выходит способность front-end адаптироваться к широкому диапазону различных устройств и при этом обеспечивать оптимальное качество просмотра.

Раньше дизайнер создавал макет дизайна в Photoshop , который затем переносился в HTML и CSS . На сегодняшний день технологические изменения заставляют переосмыслить эту концепцию. Мы больше не можем предсказать, какой браузер, разрешение или устройство будут использоваться для просмотра сайта. Ушли в прошлое те времена, когда большинство компьютеров использовало фиксированное разрешение 1024 на 768 пикселей, и можно было разрабатывать сайты со статическими размерами.

Современные браузеры полностью поддерживают HTML5 и CSS3 . Но один и тот же код HTML / CSS / JavaScript в старых браузерах интерпретируется по-разному, что приводит к «кроссбраузерной несовместимости » сайта. Особенно это касается старых версий Internet Explorer .

В данной статье мы рассмотрим текущую статистику по просмотрам веб-страниц, приведем перечень средств, которые помогают решать различные проблемы совместимости.

1. Текущая ситуация

Общемировая статистика за 2015 год показывает, что топ-14 используемых разрешений экрана находятся в диапазоне от 1920 на 1080 до 320 на 480 пикселей.

Хотя Windows 7 (31,20% ) до сих пор удерживает большую долю рынка, мобильные платформы начинают заменять традиционные, стационарные.

Взглянув на статистику за 2015 год по используемым браузерам, мы видим, что первое место принадлежит Chrome (все версии — 44,87% ), второе место — Firefox (все версии — 10,37% ), третье Internet Explorer 11 (6,84% ).

Ускоренные темпы выпуска новых версий Google Chrome и Firefox позволяют более эффективно разрабатывать проекты для этих платформ. Немного другая картина складывается для «плохого парня » Internet Explorer , потому что в Сети до сих пор можно найти его старые версии. А это приводит к возникновению проблем с кроссбраузерностью сайта.

Корпорация Microsoft остановила поддержку IE6 8 апреля 2014 года. И с 2016 года будет поддерживаться и получать обновления только самая последняя версия Internet Explorer . Это фактически означает, что в начале 2016 года была полностью прекращена поддержка IE7 и IE8 , независимо от операционной системы. IE9 будет поддерживаться только в Windows Vista , IE10 — только в Windows Server 2012 , IE11 — в Windows 7 и Windows 8.1 :



Как следствие, нужно прекратить разработку под IE6 и, а также под IE7 . Чтобы обосновать эту стратегию, можно привести несколько примеров решений известных компаний: Google прекратила поддержку IE8 в ноябре 2012 года, а IE9 — в октябре 2013 года.

Github больше не поддерживает IE 7 и 8 . Кроме этого часть функционала Twitter не работает в IE8 . И, наконец, популярный фреймворк не будет поддерживать IE8 , начиная с 4 версии .

Тем не менее, статистика использования может варьироваться в зависимости от региона: 6,11% пользователей в Китае в 2015 году по-прежнему просматривали страницы через IE8 . Если принять во внимание, что в Китае было около 724400000 интернет-пользователей, можно понять, что в этом году примерно 44200000 китайцев продолжают использовать IE8 .

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

2. Проанализируйте свою аудиторию

Основной принцип здесь такой: чем выше требуемая кроссбраузерность, тем больше времени потребуется на разработку, что приводит к увеличению стоимости проекта. Чтобы принять взвешенное, экономически обоснованное решение, нужно задать себе следующие вопросы:

  • Какова ваша целевая аудитория?
  • На какой географический регион нужно настроить таргетинг?
  • Какие браузеры и устройства используют ваши посетители?
  • Существуют ли в компании или отрасли технические факторы, которые заставляют вас поддерживать конкретные версии старых браузеров?
  • Каковы с точки зрения электронной коммерции коэффициенты конверсии и рентабельности различных групп пользователей по версиям браузеров?

Ответив на эти вопросы с помощью статистических данных, например, из Google Analytics , можно получить объективную картину.

3. Проблемы в устаревших браузерах и различные подходы к разработке

Адаптивный веб-дизайн во многом зависит от медиа-запросов, с помощью которых изменяется CSS для различных разрешений экрана. Кроме этого современные сайты характеризуются использованием семантических элементов HTML5 (например,

,
이것을 공유하십시오