2014-09-03 4 views
1
#my_div{ 
    width: -moz-max-content; /* mozila browser support */ 
    width : -webkit-max-content; /*chrome and safari browser support*/ 
} 

Этот код работает для моего стиля. Но я не уверен в его законности или нет. Правильно ли это указать ширину в зависимости от типа браузера?Можем ли мы иметь атрибут стиля CSS больше одного раза?

+0

второй будет перезаписан первым. Он работает отдельно для вас? –

ответ

1

Да, это нормально. Предположим, мы используем браузер Mozilla. Первый width вступает в силу, чем синтаксический анализатор css читает второй width, проверяет его значение как -webkit-max-content;, а для браузера Mozilla он недопустим, поэтому он игнорируется и возвращается к предыдущему width, то есть width: -moz-max-content;. Chrome сначала игнорирует width для браузера Mozilla.

Пример этих значений атрибутов может быть найти here

+0

благодарит за ценное руководство –

1

Да, это так, поскольку в зависимости от используемого браузера стиль будет принимать единственный стиль, который будет работать с ним.

Вот пример для линейного градиента в фоновом режиме

background: #1e5799; /* Old browsers */ 
background: -moz-linear-gradient(top, #1e5799 0%, #2989d8 50%, #207cca 51%, #7db9e8 100%); /* FF3.6+ */ 
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#1e5799), color-stop(50%,#2989d8), color-stop(51%,#207cca), color-stop(100%,#7db9e8)); /* Chrome,Safari4+ */ 
background: -webkit-linear-gradient(top, #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%); /* Chrome10+,Safari5.1+ */ 
background: -o-linear-gradient(top, #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%); /* Opera 11.10+ */ 
background: -ms-linear-gradient(top, #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%); /* IE10+ */ 
background: linear-gradient(to bottom, #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%); /* W3C */ 
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0); /* IE6-9 */ 
0

Они значения свойств, а не атрибуты. Они оба недопустимы, т. Е. Не соответствуют спецификациям CSS. Они все еще подходят, если вы хотите использовать такие функции; ср How to validate vendor prefixes in CSS like -webkit- and -moz-?

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

Смежные вопросы