2013-01-14 3 views
2

Я собираюсь реконструировать веб-сайт и буду использовать сценарий -prefix-free для устранения моих префиксов в CSS. Однако некоторые из CSS, которые я не буду редактировать. Этот CSS содержит некоторые префиксы. Если я оставлю эти префиксы в CSS, то -prefix-free все еще работает правильно или есть причины, по которым я должен просматривать файлы CSS и исключать все префиксы?-prefix-free Скрипт и префиксы в CSS

Другими словами: Префиксы в CSS прерываются или вызывают странные функциональные возможности в сочетании с -prefix-free скриптом?

ответ

3

-prefix-free оставит любые свойства, предварительно внесенные в ваш стиль только в одиночку. Фактически, это будет не добавить другие префиксы для того же свойства или правила, если вы укажете для него хотя бы один индивидуальный префикс.

Например, если у вас есть

-webkit-border-radius: 10px; 

Тогда -prefix свободной воли не добавить -moz-border-radius для Firefox версий старше 4.0, и не будет добавить без префикса border-radius для любого браузера. Браузеры WebKit будут применять радиус границы как обычно, так как они понимают -webkit-border-radius.

Если вы хотите -prefix-бесплатно добавить префиксы для других браузеров, вам нужно будет изменить, что

border-radius: 10px; 

Таким образом, это зависит от того, какие свойства вы хотите, чтобы применить все необходимые префиксы для. Если вы хотите, чтобы -prefix-free применяли префиксы повсюду, что необходимо, вам нужно пройти через таблицу стилей и удалить все префиксы, которые уже были там.

Конечно, имейте в виду, что вы можете сохранить префиксы жестко закодированными для определенных свойств, таких как псевдоэлементы, специфичные для WebKit, -webkit-appearance и -webkit-text-size-adjust. Опять же, это зависит от свойства; вам, возможно, придется исследовать и решать на основе ваших потребностей макета.

Домашняя страница сценария содержит test drive, которую вы можете использовать для предварительного просмотра результатов для префикса и префиксов. Имейте в виду, что результаты настроены на браузер, который вы используете для запуска тестового диска, поэтому, если вы добавите border-radius и запустите его в Firefox 4 или новее, вы не увидите никаких изменений. Однако, если вы поместите объявление -webkit-border-radius, вы по-прежнему увидите, что -prefix-free оставляет его нетронутым в области предварительного просмотра, даже не добавляя свойство unprefixed, независимо от используемого вами браузера.

+0

Это была информация, которую мне нужно было знать, спасибо! – L84

0

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

Поскольку стандартизировано множество спецификаций, требование префиксов для определенных свойств больше не требуется и присутствует с большим количеством версий. пример: border-radius.

Вы можете посмотреть here, чтобы узнать, какие свойства по-прежнему требуют префикс.

Не будет эффекта при использовании CSS с префиксами для некоторых элементов, а не для префиксов для других.

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