Как подключить CSS для Safari, Internet Explorer, Firefox, Safari, Google Chrome

При верстке шаблона, наткнулся на пару неприятных вещей. Не могу добиться кроссбраузерного отображения вида маркированного списка. Благо, интернет — великая вещь, который подарил ответ на данный вопрос.

Итак, как это делать — подключать стили CSS для каждого браузера?

Internet Explorer любой версии

Первое решение — это, конечно, Conditional Comments (Условные комментарии). Об этом хорошо написано на сайте wikipedia.org. Чтобы правило работало, прописываем в конце каждого определения !important.

Приведу пример для наглядности:

<!--[if lte IE 6]>
   <link rel="stylesheet" href="css/cssf-ie6.css" type="text/css"></link>
<![endif]--> 

Второе решение — это хаки. Приведу пример. Оба варианта валидны. И удобнее всего использовать:

* html .box { 
    height : 300px
} /* Только IE6 */ 
*+ html .box { 
    height : 300px 
} /* Только IE7 */ 

Opera >9

Тут тоже два решения. Первое с использованием javascript, второе — снова хаки. Предпочитаю как можно реже использовать javascript, поэтому сам выбираю второй пункт. Прописываешь прямо в CSS. Но, к сожалению, этот хак коснется и Safari.

@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) {
  .box {
     background: #F00
  }
}

Safari и Google Chrome

@media all and (-webkit-min-device-pixel-ratio:0) {
  .box { 
    color: red; /* для Chrome и Safari */ 
  }
}

Firefox

Здесь нечего писать. Так как он для меня и других правильнее всех рендерит HTML, я просто беру его за основу. Делаю верстку для него. А потом уже отталкиваюсь и делаю поправки на другие браузеры.

Но все равно бывают затыки, против которых не попрешь. Например, в лисе проблемы с вертикальным выравниванием в полях ввода текста. Чтобы бороться с ними, прописываем так:

@-moz-document url-prefix() { 
   .box {
      background: #F00
   } 
} 

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

Начать проект вместе с нами
Заполните форму и отправьте
нам сообщение!
Если у Вас возникли вопросы, предложения, либо Вы желаете оформить заявку на заказ услуги — Добро пожаловать!
Телефоны и мессенджеры:
Москва: +7 (499) 389-42-40
Санкт-Петербург: +7 (812) 456-72-40