Css moz: CSS — Префиксы браузеров — ИТ Шеф
CSS — Префиксы браузеров — ИТ Шеф
В этой статье мы рассмотрим, что такое префиксы браузеров, причины их появления и как их использовать в CSS.
Что такое префиксы
Веб-разработчик начинающий изучать теоретические основы CSS и использующий данные знания на практике может столкнуться с проблемами при рассмотрении реальных примеров. Это может вызвать у него непонимание происходящего и отбить дальнейшее желание изучать данную технологию.
Например, при рассмотрении стилей какого-нибудь сайта веб-разработчик может столкнуться со свойствами, содержащими впереди некоторые непонятные слова: -webkit-
, -moz-
, -ms-
и др.
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: 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; box-sizing: border-box; }
Данный код применяет свойства CSS, которые изменяют алгоритм расчёта ширины и высоты для всех элементов веб-страницы. Первое CSS свойство
со значением border-box
предназначено для браузеров, использующих движок webkit
(Safari) или blink
(Chrome, Opera, Яндекс.Браузер). Второе CSS свойство -moz-box-sizing
со значением border-box
предназначено для браузеров, использующих движок Gecko
(Mozilla Firefox). Последнее CSS свойство предназначено для браузеров, в которых это свойство уже протестировано и внедрено в соответствии со стандартом.
При использовании префиксов для свойств CSS, необходимо помнить, что их следует располагать до свойства CSS без префикса. Почему это так важно? Это важно потому, что если когда-то в браузере будет реализовано оригинальное свойство (без префикса), то будет использоваться именно оно (т.к. оно располагается последним), а не его экспериментальная версия.
Например: применение свойства CSS ко всем элементам веб-страницы в браузере Google Chrome версии 40.
На рисунке выше видно, что оригинальное свойство box-sizing
уже внедрено в этот браузер, и из-за того, что оно располагается последним, браузер использует именного его, а не вышеприведенное свойство -webkit-box-sizing
.
Как проверить поддержку определенного свойства в браузере
Сайт, на котором можно проверить реализовано ли данное свойство или нет в конкретном браузере можно по ссылке приведённой ниже. Кроме этого на сайте показывается количество пользователей в процентах, которые пользуется этой версией браузера.
Например: проверим, как реализовано свойство transform
в браузерах.
На сайте «CanIUse» браузеры отмечаются различными цветами, в зависимости от того в каком состоянии находится поддержка определённых свойств или тегов:
- Красный прямоугольник — браузер, в котором данное свойство не реализовано;
- Зелёный прямоугольник с дефисом, расположенным в правом верхнем углу – браузер, в котором данное свойство используется через префикс;
- Светло-зелёный прямоугольник – браузер, в котором данное свойство реализовано частично;
- Зелёный прямоугольник – браузер, в котором данное свойство реализовано в соответствии со стандартом.
Как я могу знать, когда использовать-webkit -,- moz,- ms -,- o-и т. д.?
Как я могу узнать , когда использовать префикс -webkit-
, -moz-
, -ms-
, -o-
в свойствах css? Я вижу много «inconsistency» в некоторых атрибутах, в некоторых свойствах программист ставит только -moz-
, в других он ставит все 4. Есть ли для этого причина?
Поделиться Источник Unknown 13 апреля 2017 в 16:09
5 ответов
- Определение того, какой префикс webkit/moz/etc.
Я работаю на CSS английское сокращение Cups для PHP что сделано, кроме одного: Я бы хотел, чтобы он обнаружил браузер пользователя и определил, нужен ли ему border-radius, -webkit-border-radius, -moz-border-radius и т. д. Так что мне не придется использовать очень длинные и раздражающие группы…. - CSS3 без префикса webkit и moz
Есть ли плагин или что-то в этом роде, что позволит мне написать CSS вот так: transition:all 300ms; box-shadow:0 3px 2px #222; backface-visibility:hidden; и т.д.. а для версий браузеров, требующих -webkit- , -moz- , -ms- , -o- и т. д., они добавляются там, где это необходимо, автоматически при…
12
Знать, какие префиксы использовать, зависит от того, какие браузеры вы хотите поддерживать. Хорошее место, чтобы узнать, какие версии браузера требуют префикса, — это caniuse.com .
Это изменение связано с тем, какие браузеры решили поддерживать другие разработчики. Если вы видите больше префиксов, то разработчики (владелец сайта) сайта приняли решение о более высоком/глубоком уровне поддержки старых браузеров. Меньшее количество префиксов будет поддерживать меньшее количество браузеров. А почему? Может быть много причин, некоторые из которых связаны с целевой аудиторией и требованиями к функциям (Web APIs).
Вы можете пойти по ручному пути, но многие разработчики будут использовать такие инструменты, как Autoprefixer или препроцессор CSS, например SASS или LESS . Эти инструменты дают вам различные способы определения того, какие префиксы использовать.
С чем-то вроде AutoPrefixer есть возможность перечислить, какие браузеры вы хотите поддерживать, и он выясняет, какие префиксы и т. Д. Необходимы для поддержки этих браузеров на основе версии без префиксов.
С помощью препроцессора CSS, такого как SASS или LESS , вы можете создать миксин (в основном функцию), который добавит определенные вами префиксы.
Поделиться hungerstar 13 апреля 2017 в 16:15
7
Я применяю простое эмпирическое правило: никогда не ставьте префикс поставщика (вместо этого позвольте пользователю обновить свой браузер и избегайте правил non-official/non-yet-finalized CSS).
См . http://shouldiprefix.com/ , если вы все еще хотите знать, какие префиксы являются «required» (или «стоит беспокоиться»).
Наконец, препроцессоры CSS могут справиться с этим, но часто бесполезно добавлять их в стек разработки и выпуска (за исключением случаев, когда вы используете другие материалы, которые содержат префиксы поставщиков, или если вам приходится иметь дело со старыми браузерами, как в интрасетях компаний).
Поделиться Xenos 13 апреля 2017 в 16:15
3
потрясающий вопрос.
Многие программисты используют CanIUse , чтобы определить, поддерживается ли конкретное свойство CSS во всех браузерах, которые они хотели бы поддерживать. Если он не полностью поддерживается во всех браузерах, которые они хотят поддерживать, программист должен использовать префикс поставщика (т. е.-webkit -).
Пример Сценария
Скажем, программист хотел использовать свойство Transform ( CanIUse#Transform ). См. Как Android Браузер 4.4 & 4.4.4 имеет желтые предупреждения в правом верхнем углу? Наведите на них курсор и обратите внимание, что на нем написано «Поддерживается с -webkit»? Это именно так. когда вы добавите префикс-webkit — поставщика.
Я не согласен с тем, что вы должны добавить их все (хотя на самом деле это ничего не повредит). Если вы просто проведете небольшое исследование, прежде чем использовать новые свойства CSS, у вас будет более чистый CSS/SASS/LESS/etc, поддерживающий все браузеры, которые вы хотите. 😛
Я действительно думаю, что есть потрясающие инструменты, чтобы сделать это автоматически. Ксенос упомянул несколько.
Удачи вам в ваших начинаниях.
Поделиться Kyle Boss 13 апреля 2017 в 16:25
- Когда использовать префиксы-moz, -webkit,- o в CSS вместо простых свойств?
Мы создаем WordPress темы, и я хочу знать, что необходимо использовать все свойства браузеров вместо ONE? Например, мы написали это для свойства transition: -moz-transition: all 350ms ease-in-out; -o-transition: all 350ms ease-in-out; -webkit-transition: all 350ms ease-in-out; transition: all…
- Разница между -webkit ,-khtml ,-moz, — o свойством в css?
в чем разница между -webkit-box-shadow , -khtml-box-shadow , -moz-box-shadow , -o-box-shadow в CSS? Мой CSS это такой: button:hover { -webkit-box-shadow: rgba(0,0,0,0.5) 0px 2px 5px; -khtml-box-shadow: rgba(0,0,0,0.5) 0px 2px 5px; -moz-box-shadow: rgba(0,0,0,0.5) 0px 2px 5px; -o-box-shadow:…
2
Эти различные свойства называются «префиксами поставщиков»: -moz-
= используется для Mozilla Firefox -ms-
= используется для Microsoft Internet Explorer -o-
= используется для Opera -webkit-
= используется для браузеров Google Chrome и Apple Safari.
Это всегда хороший подход, чтобы использовать все префиксы поставщиков для css, которые вы применяете, чтобы обратиться к совместимости браузера с веб-страницей, которую вы разрабатываете.
Однако препроцессоры css, такие как LESS, могут справиться с этой задачей, если вам посчастливится их использовать. Я лично использую LESS для обработки всех этих префиксов поставщиков, и это действительно просто. Если бы я не использовал препроцессоры, я бы все равно рассмотрел возможность написания префикса поставщика css вместе с именем свойства по умолчанию.
Всегда лучше заранее позаботиться о проблемах совместимости, чем столкнуться с некоторыми из них и исправить их позже.
Попробуйте использовать инструменты префиксации поставщиков, такие как: https://github.com/less/less-plugin-autoprefix
Поделиться r0u9hn3ck 13 апреля 2017 в 16:34
0
Если вы хотите убедиться, что это будет работать в каждом браузере, вам нужно добавить их все, некоторые веб-сайты не поддерживают старые браузеры, поэтому нет необходимости заботиться о браузерах, которые вы решили не поддерживать 🙂
Поделиться loki 13 апреля 2017 в 16:18
Похожие вопросы:
Где я должен использовать префиксы поставщиков CSS
Мой вопрос касается префиксов поставщиков CSS: -webkit, -moz, -ms, — o и т. д. Как я узнаю, какие свойства я должен добавить к каким css?
Я пытаюсь преобразовать команду webkit данным МЗ и СР
Я пытаюсь найти альтернативу команде webkit: -webkit-text-fill-color Поскольку это еще не поддерживается в moz o и ms, кто-нибудь знает другую команду, которая может это сделать, или какой-то Хак…
Как добавить префиксы-moz & — o в код, содержащий только теги -webkit
Скажем, у меня есть такая страница: http:/ / www.webkit.org / blog-files/3d-transforms/morphing-cubes.html Я сохраняю страницу &, запускаю файл html в свой localhost. Он отлично работает в…
Определение того, какой префикс webkit/moz/etc.
Я работаю на CSS английское сокращение Cups для PHP что сделано, кроме одного: Я бы хотел, чтобы он обнаружил браузер пользователя и определил, нужен ли ему border-radius, -webkit-border-radius,…
CSS3 без префикса webkit и moz
Есть ли плагин или что-то в этом роде, что позволит мне написать CSS вот так: transition:all 300ms; box-shadow:0 3px 2px #222; backface-visibility:hidden; и т.д.. а для версий браузеров, требующих…
Когда использовать префиксы-moz, -webkit,- o в CSS вместо простых свойств?
Мы создаем WordPress темы, и я хочу знать, что необходимо использовать все свойства браузеров вместо ONE? Например, мы написали это для свойства transition: -moz-transition: all 350ms ease-in-out;…
Разница между -webkit ,-khtml ,-moz, — o свойством в css?
в чем разница между -webkit-box-shadow , -khtml-box-shadow , -moz-box-shadow , -o-box-shadow в CSS? Мой CSS это такой: button:hover { -webkit-box-shadow: rgba(0,0,0,0.5) 0px 2px 5px;…
-moz-transform не ведет себя так же, как-webkit-transform
У меня есть круговые элементы, которые я заполняю четвертью круга, чтобы показать прогрессию. В Safari, IE и Хроме они выглядят великолепно и заполняют круг, как и положено: Однако, когда я открываю…
Когда мне нужно использовать префиксы поставщиков?
Когда я должен использовать префиксы -webkit , -moz , -o и т. д.?
Как эффективно установить свойства CSS для всех браузеров (-webkit, -moz, -o, — ms) с помощью angular?
Мне нужно установить свойство CSS с помощью функции angular. Вот мой код: <div ng-style={ ‘transform’: getRotation(i) }></div> Однако я хотел бы добавить совместимость с браузером,…
css — Что такое -moz- и -webkit-?
Что такое -moz- и -webkit -?
Свойства CSS, начинающиеся с -webkit-
, -moz-
, -ms-
или -o-
, называются префиксами поставщиков.
Почему разные браузеры добавляют разные префиксы для одного и того же эффекта?
Хорошее объяснение префиксов поставщиков дано Питером-Полем Кохом из QuirksMode :
Первоначально, суть префиксов поставщиков заключалась в том, чтобы позволить производителям браузеров начать поддерживать экспериментальные декларации CSS.
Допустим, рабочая группа W3C обсуждает объявление сетки (что, кстати, не было бы такой плохой идеей). Кроме того, давайте скажем, что некоторые люди создают черновик спецификации, но другие не соглашаются с некоторыми деталями. Как мы знаем, этот процесс может занять много лет.
Кроме того, скажем, что Microsoft в качестве эксперимента решает реализовать предложенную сетку. На данный момент Microsoft не может быть уверена, что спецификация не изменится. Следовательно, вместо добавления сетки в свой CSS, он добавляет
-ms-grid
.Префикс поставщика вроде «говорит, что это интерпретация Microsoft действующего предложения». Таким образом, если окончательное определение сетки будет другим, Microsoft может добавить новую сетку свойств CSS, не разбивая страницы, которые зависят от -ms-grid.
ОБНОВЛЕНИЕ НА 2016 ГОД
Поскольку этому посту 3 года, важно упомянуть, что теперь большинство поставщиков понимают, что эти префиксы просто создают ненужный дублирующий код и что ситуация где вам нужно указать 3 разных CSS-правила, чтобы один эффект работал во всех браузерах — нежелательный.
Как уже упоминалось в этом глоссарии о взгляде Mozilla на Vendor Prefix
на May 3, 2016
,
Поставщики браузеров сейчас пытаются избавиться от префикса поставщиков для экспериментальных функций. Они заметили, что веб-разработчики используют их на рабочих веб-сайтах, загрязняя глобальное пространство и затрудняя работу аутсайдеров.
Например, всего несколько лет назад, чтобы установить закругленный угол на поле, вы должны были написать:
-moz-border-radius: 10px 5px;
-webkit-border-top-left-radius: 10px;
-webkit-border-top-right-radius: 5px;
-webkit-border-bottom-right-radius: 10px;
-webkit-border-bottom-left-radius: 5px;
border-radius: 10px 5px;
Но теперь, когда браузеры полностью поддерживают эту функцию, вам действительно нужна только стандартизированная версия:
border-radius: 10px 5px;
Поиск правильных правил для всех браузеров
Поскольку до сих пор не существует стандарта для общих правил CSS, которые работают во всех браузерах, вы можете использовать такие инструменты, как caniuse.com , чтобы проверить поддержку правила во всех основных браузерах.
Вы также можете использовать pleeease.io/play . Pleeease — это приложение Node.js, которое легко обрабатывает ваш CSS. Это упрощает использование препроцессоров и объединяет их с лучшими постпроцессорами. Это помогает создавать чистые таблицы стилей, поддерживать старые браузеры и обеспечивает лучшую поддержку.
Входной сигнал:
a {
column-count: 3;
column-gap: 10px;
column-fill: auto;
}
Выход:
a {
-webkit-column-count: 3;
-moz-column-count: 3;
column-count: 3;
-webkit-column-gap: 10px;
-moz-column-gap: 10px;
column-gap: 10px;
-webkit-column-fill: auto;
-moz-column-fill: auto;
column-fill: auto;
}
CSS — -moz-outline-radius — Начиная с Firefox 88, стандартное свойство outline будет следовать форме border-
Запланировано удалениеНачиная с Firefox 88, стандартное свойство outline
будет следовать форме border-radius
, что сделает свойства -moz-outline-radius
избыточными. Таким образом, это свойство будет удалено.
В приложениях Mozilla, таких как Firefox, сокращенное свойство CSS -moz-outline-radius
может использоваться для придания скругленным углам outline
элемента .
-moz-outline-radius: 25px; -moz-outline-radius: 25px 1em; -moz-outline-radius: 25px 1em 12%; -moz-outline-radius: 25px 1em 12% 4mm; -moz-outline-radius: inherit; -moz-outline-radius: initial; -moz-outline-radius: unset;
Constituent properties
Это свойство является сокращением для следующих свойств CSS:
Syntax
Values
Эллиптические контуры и значения<percentage>
соответствуют синтаксису, описанному в border-radius
.Одно, два, три или четыре значения <outline-radius>
представляют одно из:
<length>
- Смотрите
<length>
для возможных значений. <percentage>
-
<percentage>
; см.border-radius
для деталей.
- Если установлено одно значение,то оно относится ко всем 4 углам.
- Если установлены два значения,то первое относится к левому верхнему и правому нижнему углам,а второе-к правому верхнему и левому нижнему углам.
- Если установлено три значения,то первое относится к верхнему левому углу,второе-к верхнему правому и нижнему левому углам,а третье-к нижнему правому углу.
- Если установлено четыре значения,то первое относится к левому верхнему углу,второе-к правому верхнему углу,третье-к правому нижнему углу и четвертое-к левому нижнему углу.
Formal definition
Формальный синтаксис
<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?where <outline-radius> = <length> | <percentage>
Examples
Закругление контура
Примечание:Этот пример не покажет желаемого эффекта,если вы просматриваете его в браузере,отличном от Firefox.
HTML
<p>This element has a rounded outline!</p>
CSS
p { margin: 5px; border: 1px solid black; outline: dotted red; -moz-outline-radius: 12% 1em 25px; }
Result
Notes
-
dotted
илиdashed
закругленные углы отображались как сплошные до Firefox 50, ошибка 382721 - В будущих версиях Gecko / Firefox это свойство может быть полностью удалено. Смотрите ошибку 593717 .
Specifications
Не является частью какого-либо стандарта.
Совместимость с браузерами
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Хромовый Android | Firefox для Android | Опера Андроид | Safari на IOS | Samsung Интернет | |
-moz-outline-radius | No | No | 1-88 Начиная с Firefox 88, контур теперь автоматически повторяет форму, созданную с помощью border-radius , поэтому это свойство больше не требуется (см. Ошибку 1694146 ). | No | No | No | No | No | 4-88 Начиная с Firefox 88, контур теперь автоматически повторяет форму, созданную с помощью border-radius , поэтому это свойство больше не требуется (см. Ошибку 1694146 ). | No | No | No |
См.также
moz-margin-end — свойство css :: руководство cssdot.ru
Свойство -moz-margin-end
определяет конечный отступ для элемента. Конечным отступом является правый или левый отступ элемента, в зависимости от направления письма, установленного для данного элемента. Если направление письма слева направо, то устанавливается правый отступ, что аналогично свойству margin-right
, в случае направления письма справа налево, используется левый отступ, что аналогично установке свойства margin-left
.
Толщина может задаваться любым доступным способом в соответствии со стандартом CSS 2.1 или CSS 3 для велечин типа length
, а так же ключевыми словами auto, либо inherit.
Примеры использования
Стиль | Пример |
---|---|
.styleLTR {
direction: ltr;
| -moz-margin-end: 10em; padding: 0.2em; border: 1px solid #aaa;»> margin-right для элементов с направлением письма слева направо |
.styleRTL {
direction: rtl;
| -moz-margin-end: 10em; padding: 0.2em; border: 1px solid #aaa;»> margin-left для элементов с направлением письма справа налево |
Свойство -moz-margin-end
относится к спецификации CSS, применяется к всем элементам, кроме строк и ячеек таблиц, и действует на всех визуальные носителях, его значение не наследуется от родительского элемента в иерархии документа, Является расширением движка Gecko (браузер Firefox), и не совместимо с другими браузерами.
Смотри также:
- margin — размер отступов блока
- margin-left — размер левого отступа блока
- margin-right — размер правого отступа блока
- -webkit-margin-start — «Начальное» (левое или правое в зависимости от направления текста) поле перед содержанием элемента
- -webkit-margin-end — «Конечныйе» (правый или левый в зависимости от направления текста) поле перед содержанием элемента
- -moz-margin-start —
Краткое описание
Синтаксис:
<length> | auto | inherit
По умолчанию:
0
Применяется к:
всем элементам, кроме строк и ячеек таблиц
Наследование:
не наследуетсяТип носителя:
визуальные
Объектная модель документа (DOM):
[элемент].style[‘-moz-margin-end’]
Кроссбраузерная совместимость
Internet Explorer
не поддерживаетсяFirefox
Chrome
не поддерживаетсяSafari
не поддерживаетсяOpera
не поддерживаетсяCSS Что такое -moz- и -webkit-?
-webkit-column-count: 3;
-webkit-column-gap: 10px;
-webkit-column-fill: auto;
-moz-column-count: 3;
-moz-column-gap: 10px;
-moz-column-fill: auto;
Я новичок в css, и когда я смотрел какой-то код css на днях, я нашел эти строки. В учебниках, которые я использовал для изучения css, я никогда не видел ничего подобного этим строкам. Может ли кто-нибудь объяснить эти строки мне или дать мне источник, где я мог бы научиться реализовывать такие строки?
Спасибо заранее!
Ответ 1
Это свойства с префиксом поставщика, предлагаемые соответствующими механизмами рендеринга (-webkit
для Chrome, Safari; -moz
для Firefox, -o
для Opera, -ms
для Internet Explorer). Как правило, они используются для реализации новых или собственных функций CSS до окончательного уточнения/определения W3.
Это позволяет настроить свойства для каждого отдельного браузера/механизма рендеринга, чтобы можно было безопасно учитывать несоответствия между реализациями. Префиксы со временем будут удалены (по крайней мере теоретически), поскольку в этом браузере реализована незафиксированная конечная версия свойства.
С этой целью обычно считается хорошей практикой сначала указывать версию с префиксом поставщика, а затем версию, отличную от префикса, для того, чтобы свойство без префикса переопределило параметры свойств префикса поставщика после его реализации; например:
.elementClass {
-moz-border-radius: 2em;
-ms-border-radius: 2em;
-o-border-radius: 2em;
-webkit-border-radius: 2em;
border-radius: 2em;
}
В частности, чтобы обратиться к CSS в вашем вопросе, строки, которые вы указываете:
-webkit-column-count: 3;
-webkit-column-gap: 10px;
-webkit-column-fill: auto;
-moz-column-count: 3;
-moz-column-gap: 10px;
-moz-column-fill: auto;
Укажите свойства column-count
, column-gap
и column-fill
для браузеров Webkit и Firefox.
Литература:
Ответ 2
Что такое -moz- и -webkit -?
Свойства CSS, начинающиеся с -webkit-
, -moz-
, -ms-
или -o-
, называются префиксами поставщиков.
Почему разные браузеры добавляют разные префиксы для одного и того же эффекта?
Хорошее объяснение префиксов поставщиков происходит от Peter-Paul Koch от QuirksMode:
Первоначально точка префиксов поставщика заключалась в том, чтобы разрешить разработчикам браузера для начала поддержки экспериментальных объявлений CSS.
Скажем, рабочая группа W3C обсуждает объявление сетки (которое, кстати, не было бы такой плохой идеей). Пусть далее говорят, что некоторые люди создают проект спецификации, но другие не согласны с некоторые детали. Как известно, этот процесс может занять много времени.
Кроме того, предположим, что Microsoft как эксперимент решает реализовать предлагаемую сетку. На данный момент Microsoft не может убедитесь, что спецификация не изменится. Поэтому вместо этого добавления сетки в свой CSS, он добавляет
-ms-grid
.Тип префикса поставщика говорит: «Это интерпретация Microsoft постоянного предложения». Таким образом, если окончательное определение сетки разные, Microsoft может добавить новую структуру свойств CSS без нарушения страниц, которые зависят от -ms-grid.
ОБНОВЛЕНИЕ ЗА ГОД 2016
Как это сообщение 3 года, важно отметить, что теперь большинство продавцов понимают, что этот префикс просто создает ненужный дубликат кода и что ситуация, когда вам нужно указать 3 разных css правила для получения одного эффекта, работающего во всем браузере, являются нежелательными.
Как упоминалось в этом глоссарии о представлении Mozilla на Vendor Prefix
на May 3, 2016
,
Поставщики браузеров теперь пытаются избавиться от префикса поставщика для экспериментальных функции. Они заметили, что веб-разработчики использовали их на создание веб-сайтов, загрязняющих глобальное пространство, и сделать его более трудно для неудачников хорошо работать.
Например, всего несколько лет назад, чтобы установить округленный угол на поле, вы должны были написать:
-moz-border-radius: 10px 5px;
-webkit-border-top-left-radius: 10px;
-webkit-border-top-right-radius: 5px;
-webkit-border-bottom-right-radius: 10px;
-webkit-border-bottom-left-radius: 5px;
border-radius: 10px 5px;
Но теперь, когда браузеры полностью поддерживают эту функцию, вам действительно нужна стандартизованная версия:
border-radius: 10px 5px;
Поиск правильных правил для всех браузеров
Поскольку для обычных браузеров нет стандартных правил для CSS, вы можете использовать такие инструменты, как caniuse.com, чтобы проверить поддержку правило во всех основных браузерах.
Вы также можете использовать pleeease.io/play. Pleeease — это приложение Node.js, которое легко обрабатывает ваш CSS. Это упрощает использование препроцессоров и объединяет их с лучшими постпроцессорами. Это помогает создавать чистые таблицы стилей, поддерживать старые браузеры и предлагает лучшую поддержку.
Ввод:
a {
column-count: 3;
column-gap: 10px;
column-fill: auto;
}
Вывод:
a {
-webkit-column-count: 3;
-moz-column-count: 3;
column-count: 3;
-webkit-column-gap: 10px;
-moz-column-gap: 10px;
column-gap: 10px;
-webkit-column-fill: auto;
-moz-column-fill: auto;
column-fill: auto;
}
Стилизуем placeholder при помощи CSS. Синтаксис, трюки, поддерживаемые стили в html5
Атрибут placeholder применяется для призыва к действию внутри пустых элементов input и textarea. В этой статье мы рассмотрим возможности стилизации текста placeholder-a, а также некоторые трюки, которые позволят сделать его более удобным и функциональным.
Итак, начнем с примера для тех, кто не знает, что такое placeholder.
html
<input type="text" placeholder="Оставьте сообщение здесь">
input placeholder demo
Стиль placeholder-a можно изменить с помощью такого набора css правил:
css
::-webkit-input-placeholder {color:#c0392b;}
::-moz-placeholder {color:#c0392b;}/* Firefox 19+ */
:-moz-placeholder {color:#c0392b;}/* Firefox 18- */
:-ms-input-placeholder {color:#c0392b;}
Выглядит страшновато, не правда ли? Дело в том, что этого до сих пор нет в стандартах. Каждый браузер по-своему реализовал поддержку стилизации placeholder-а.
В IE и старых firefox (до 18-го) placeholder считается псевдоклассом, а в новых firefox, webkit и blink – псевдоэлементом.
Смотрим, что получилось:
input placeholder demo
Нужно сказать, что поддерживаются не все возможные css свойства. Большинство современных браузеров позволяют изменить:
- font (и сопутствующие свойства)
- background (и сопутствующие свойства)
- color
- word-spacing
- letter-spacing
- text-decoration
- vertical-align
- text-transform
- line-height
- text-indent
- text-overflow
- opacity
А если placeholder не вмещается?
Иногда поля для ввода текста сокращаются по ширине из-за особенностей лейаута, в частности на мобильных девайсах. В этом случае длинный текст placeholder-а будет некрасиво обрезан. Чтобы предотвратить это, вы можете использовать text-overflow: ellipsis
. Такой синтаксис будет работать во всех новых браузерах.
css
input[placeholder] {text-overflow:ellipsis;}
input::-moz-placeholder {text-overflow:ellipsis;}
input:-moz-placeholder {text-overflow:ellipsis;}
input:-ms-input-placeholder {text-overflow:ellipsis;}
input placeholder demo
Как скрыть placeholder при фокусе?
Скрывание placeholder-а происходит по-разному.
- в некоторых браузерах при получении фокуса инпутом
- в других браузерах при наличии хотя бы одного введенного символа
Мне больше нравится первый вариант. Для того, чтобы задать такое поведение во всех браузерах, поддерживающих placeholder, определим следующие css правила:
css
:focus::-webkit-input-placeholder {color: transparent}
:focus::-moz-placeholder {color: transparent}
:focus:-moz-placeholder {color: transparent}
:focus:-ms-input-placeholder {color: transparent}
input placeholder demo
Скрываем placeholder красиво
Можно также добавить transition для появления и скрытия placeholder-a:
input placeholder demo
Вот сss:
css
/* плавное изменение прозрачности placeholder-а при фокусе */
.input1::-webkit-input-placeholder {opacity: 1; transition: opacity 0.3s ease;}
.input1::-moz-placeholder {opacity: 1; transition: opacity 0.3s ease;}
.input1:-moz-placeholder {opacity: 1; transition: opacity 0.3s ease;}
.input1:-ms-input-placeholder {opacity: 1; transition: opacity 0.3s ease;}
.input1:focus::-webkit-input-placeholder {opacity: 0; transition: opacity 0.3s ease;}
.input1:focus::-moz-placeholder {opacity: 0; transition: opacity 0.3s ease;}
.input1:focus:-moz-placeholder {opacity: 0; transition: opacity 0.3s ease;}
.input1:focus:-ms-input-placeholder {opacity: 0; transition: opacity 0.3s ease;}
/* сдвиг placeholder-а вправо при фокусе*/
.input2::-webkit-input-placeholder {text-indent: 0px; transition: text-indent 0.3s ease;}
.input2::-moz-placeholder {text-indent: 0px; transition: text-indent 0.3s ease;}
.input2:-moz-placeholder {text-indent: 0px; transition: text-indent 0.3s ease;}
.input2:-ms-input-placeholder {text-indent: 0px; transition: text-indent 0.3s ease;}
.input2:focus::-webkit-input-placeholder {text-indent: 500px; transition: text-indent 0.3s ease;}
.input2:focus::-moz-placeholder {text-indent: 500px; transition: text-indent 0.3s ease;}
.input2:focus:-moz-placeholder {text-indent: 500px; transition: text-indent 0.3s ease;}
.input2:focus:-ms-input-placeholder {text-indent: 500px; transition: text-indent 0.3s ease;}
/* сдвиг placeholder-а вниз при фокусе*/
.input3::-webkit-input-placeholder {line-height: 20px; transition: line-height 0.5s ease;}
.input3::-moz-placeholder {line-height: 20px; transition: line-height 0.5s ease;}
.input3:-moz-placeholder {line-height: 20px; transition: line-height 0.5s ease;}
.input3:-ms-input-placeholder {line-height: 20px; transition: line-height 0.5s ease;}
.input3:focus::-webkit-input-placeholder {line-height: 100px; transition: line-height 0.5s ease;}
.input3:focus::-moz-placeholder {line-height: 100px; transition: line-height 0.5s ease;}
.input3:focus:-moz-placeholder {line-height: 100px; transition: line-height 0.5s ease;}
.input3:focus:-ms-input-placeholder {line-height: 100px; transition: line-height 0.5s ease;}
Надеюсь, вам это пригодится. Пишите замечания и предложения в комментариях.
css — Что такое -moz- и -webkit-?
Что такое -moz- и -webkit-?
Свойства CSS, начинающиеся с -webkit-
, -moz-
, -ms-
или -o-
, называются префиксами поставщика.
Почему разные браузеры добавляют разные префиксы для одного и того же эффекта?
Хорошее объяснение префиксов поставщиков исходит от Питера-Пола Коха из QuirksMode:
Первоначально цель префиксов поставщиков заключалась в том, чтобы разрешить производителям браузеров чтобы начать поддерживать экспериментальные объявления CSS.
Допустим, рабочая группа W3C обсуждает объявление сетки (которое, кстати, было бы неплохо). Кроме того, скажем, что некоторые люди создают черновик спецификации, но другие не согласны с некоторые детали. Как мы знаем, этот процесс может занять много времени.
Допустим также, что Microsoft в качестве эксперимента решает реализовать предложенную сетку. На данный момент Microsoft не может будьте уверены, что спецификация не изменится. Поэтому вместо добавляя сетку в свой CSS, он добавляет
-ms-grid
.Префикс поставщика как бы говорит: «Это интерпретация Microsoft. текущего предложения «. Таким образом, если окончательное определение сетки другое, Microsoft может добавить новую сетку свойств CSS, не нарушая страницы, зависящие от -ms-grid.
ОБНОВЛЕНИЕ ЗА ГОД 2016
Поскольку этому посту 3 года, важно отметить, что теперь большинство поставщиков понимают, что эти префиксы просто создают ненужный дублированный код и что вам нужно указать три разных правила CSS, чтобы получить один эффект, работающий во всех браузерах. нежелательный.
Как упоминалось в этом глоссарии о взгляде Mozilla на Vendor Prefix
от 3 мая 2016 г.
,
Производители браузеров теперь пытаются избавиться от префикса поставщика для экспериментальных Особенности. Они заметили, что веб-разработчики использовали их на производственные веб-сайты, загрязняя глобальное пространство и делая его более аутсайдерам сложно работать хорошо.
Например, всего несколько лет назад, чтобы установить закругленный угол на коробке, нужно было написать:
-moz-border-radius: 10px 5px;
-webkit-border-top-left-radius: 10 пикселей;
-webkit-border-top-right-radius: 5 пикселей;
-webkit-border-bottom-right-radius: 10px;
-webkit-border-нижний левый-радиус: 5 пикселей;
радиус границы: 10 пикселей 5 пикселей;
Но теперь, когда браузеры полностью поддерживают эту функцию, вам действительно нужна только стандартизованная версия:
радиус границы: 10px 5px;
Поиск правильных правил для всех браузеров
Поскольку до сих пор нет стандарта для общих правил CSS, которые работают во всех браузерах, вы можете использовать такие инструменты, как caniuse.com, чтобы проверить поддержку правила во всех основных браузерах.
Вы также можете использовать pleeease.io/play. Pleeease — это приложение Node.js, которое легко обрабатывает ваш CSS. Он упрощает использование препроцессоров и объединяет их с лучшими постпроцессорами. Он помогает создавать чистые таблицы стилей, поддерживает старые браузеры и обеспечивает лучшую ремонтопригодность.
Ввод:
a {
количество столбцов: 3;
столбец-пробел: 10 пикселей;
заполнение столбца: авто;
}
Выход:
a {
-webkit-column-count: 3;
-moz-column-count: 3;
количество столбцов: 3;
-webkit-столбец-пробел: 10 пикселей;
-moz-column-gap: 10 пикселей;
столбец-пробел: 10 пикселей;
-webkit-column-fill: авто;
-moz-column-fill: авто;
заполнение столбца: авто;
}
Кроссбраузер— -moz и -webkit css больше не нужны?
кросс-браузер — -moz и -webkit css больше не нужны? — Переполнение стекаСпросил
Просмотрено 6к раз
Я уже некоторое время использую стили CSS -moz
и -webkit
для таких вещей, как тень окна, тень текста и т. Д.И недавно я заметил, что все FireFox, Chrome, Safari и IE ( 9 ) дают одинаковые результаты со стандартными box-shadow
и text-shadow
и аналогичными стилями CSS.
Мне было интересно, задокументировано ли это где-нибудь. Потому что я успешно удалил с сайта все файлы, относящиеся к конкретному браузеру, и он по-прежнему выглядит одинаково во всех четырех браузерах.
c6917.2k66 золотых знаков4848 серебряных знаков8080 бронзовых знаков
Создан 22 сен.
CielCiel16.5k1919 золотых знаков101101 серебряный знак196196 бронзовых знаков
Последние браузеры поддерживают эти свойства css3 по умолчанию.Эти специальные параметры -moz и -webkit все же следует использовать для обратной совместимости со старыми браузерами. Старые браузеры реализовали их, чтобы разрешить использование этих свойств до того, как они стали стандартными.
Создан 22 сен.
JNDPNTJNDPNT7,26122 золотых знака3232 серебряных знака3939 бронзовых знаков
Я полагаю, это зависит от версии браузеров, на которые вы ориентируетесь.
Похоже, если и только если ваше приложение или сайт предназначены для работы только с самыми последними версиями всех браузеров, вы можете позволить себе опустить -moz и -webkit для определенных свойств, которые вы протестировали.
Есть и другие свойства, которые поддерживаются не всеми браузерами, например мой личный любимый webkit-переход. Конечно, на самом деле вряд ли вам удастся настроить таргетинг только на новейшие браузеры, если вы не делаете личный проект.
Создан 22 сен.
Бен КлейтонБен Клейтон76.9k2525 золотых знаков117117 серебряных знаков124124 бронзовых знака
2Если вы не хотите так много писать и по-прежнему хотите иметь обратную совместимость: less.css может быть вашим другом.
Еще одна вещь: w3schools.com имеет актуальную базу данных для всех команд CSS и того, какой браузер ее поддерживает. Очень помогло.
Создан 22 сен.
сашасаша4,6133 золотых знака3434 серебряных знака5151 бронзовый знак
Может быть полезно сохранить их для старых браузеров, в которых нет стандартов, но есть стили css -moz и -webkit.
Создан 22 сен.
Сникси1,9671717 серебряных знаков2727 бронзовых знаков
Для последних версий Firefox, Chrome и Safari это правда.
Однако для людей, использующих более ранние версии браузеров (например, Firefox 3.6), вам все равно придется оставить префиксы -moz
и -webkit
.
Если вы хотите настроить таргетинг на них, не удаляйте их.
Эти свойства являются прогрессивным улучшением, поэтому их удаление не повредит.
Создан 22 сен.
РУКАВА5,84133 золотых знака3636 серебряных знаков6262 бронзовых знака
лучше всего держать их всех там,
пример:
-moz-border-radius: 5px;
-webkit-border-radius: 5 пикселей;
радиус границы: 5 пикселей;
, в зависимости от версии браузера пользователя, они по-прежнему будут видеть border-radius, старые браузеры по-прежнему будут использовать версии -moz и -webkit, последние версии safari / firefox или chrome будут использовать окончательную реализацию свойства border-radius .
Создан 22 сен.
СандерСандер13k1515 золотых знаков7070 серебряных знаков9797 бронзовых знаков
2по умолчанию
Stack Overflow лучше всего работает с включенным JavaScriptВаша конфиденциальность
Нажимая «Принять все файлы cookie», вы соглашаетесь с тем, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Принимать все файлы cookie Настроить параметры
расширений Mozilla CSS — CSS: каскадные таблицы стилей
Приложения Mozilla, такие как Firefox, поддерживают ряд специальных расширений Mozilla для CSS , включая свойства, значения, псевдоэлементы и псевдоклассы, at-правила и медиа-запросы.Эти расширения имеют префикс -moz-
.
Примечание: Эти свойства и псевдоклассы будут работать только в приложениях Mozilla, таких как Firefox, и не соответствуют стандартам. Некоторые из них применимы только к элементам XUL.
B
C – I
O
S – Z
Примечание: Чтобы максимизировать совместимость вашего CSS, вы должны использовать стандартные свойства без префикса вместо перечисленных ниже свойств с префиксом. Если данное свойство стандартизировано и реализовано без префикса, версия с префиксом обычно удаляется через некоторое время.
Глобальные значения
-moz-appearance
-
кнопка
-
кнопка со стрелкой вниз
-
кнопка-стрелка-вперед
-
кнопка-стрелка-предыдущая
-
кнопка со стрелкой вверх
-
пуговица с фаской
-
флажок
-
чекбокс-контейнер
-
флажок-ярлык
-
checkmenuitem
-
диалог
-
групповой ящик
-
список
-
стрелка меню
-
menucheckbox
-
изображение меню
-
пункт меню
-
текст меню
-
Менулист
-
кнопка-менюсписок
-
текст-менюлист
-
текстовое поле-меню
-
всплывающее меню
-
меню радио
-
разделитель меню
-
-moz-mac-unified-toolbar
-
-моз-беспроигрышное стекло
-
-moz-win-browsertabbar-toolbox
-
-moz-win-communications-toolbox
-
-моз-вин-стекло
-
-moz-win-media-toolbox
-
-moz-окно-кнопочный ящик
-
-moz-окно-кнопка-поле-развернуто
-
-moz-окно-кнопка-закрыть
-
-moz-кнопка-окно-развернуть
-
-moz-окно-кнопка-свернуть
-
-moz-окно-кнопка-восстановить
-
-moz-окно-заголовок
-
-moz-window-titlebar-maximized
-
индикатор выполнения
-
прогрессчанк
-
радио
-
радиоконтейнер
-
радио-метка
-
radiomenuitem
-
изменение размера
-
resizerpanel
-
шкала-горизонтальная
-
масштаб по горизонтали
-
масштабирование большого пальца по вертикали
-
шкала вертикальная
-
полоса прокрутки, кнопка вниз
-
полоса прокрутки - левая кнопка
-
полоса прокрутки - правая
-
полоса прокрутки, кнопка вверх
-
полоса прокрутки малая
-
scrollbarthumb-горизонтальный
-
scrollbarthumb-вертикальный
-
scrollbartrack - горизонтальный
-
scrollbartrack вертикальный
-
сепаратор
-
вертушка
-
кнопка опускания
-
текстовое поле счетчика
-
кнопка подъемного механизма
-
строка состояния
-
панель состояния
-
вкладка
-
панели вкладок
-
табуляция-стрелка-прокрутка-назад
-
табуляция со стрелкой прокрутки вперед
-
текстовое поле
-
многострочное текстовое поле
-
панель инструментов
-
панель инструментов, раскрывающийся список, кнопка
-
ящик для инструментов
-
всплывающая подсказка
-
treeheadercell
-
treeheadersortarrow
-
элемент дерева
-
ветвистый
-
деревья открыты
-
дерево
-
окно
фоновое изображение
Градиенты
Элементы
Дополнительные изображения
цвет границы
стиль границы
и стиль контура
-
-moz-bg-inset
-
-moz-bg-outset
-
-moz-bg-твердый
<цвет>
ключевые слова-
-moz-activehyperlinktext
-
-moz-hyperlinktext
-
-moz-visithyperlinktext
-
-moz-кнопка по умолчанию
-
-moz-пуговица, поверхность
-
-moz-buttonhovertext
-
-moz-default-background-color
-
-moz-default-color
-
-moz-cellhighlight
-
-moz-cellhighlighttext
-
-моз-поле
-
-moz-fieldtext
-
-moz-диалог
-
-moz-dialogtext
-
-moz-dragtargetzone
-
-moz-mac-accentdarkestshadow
-
-moz-mac-accentdarkshadow
-
-moz-mac-accentface
-
-moz-mac-accentlightesthighlight
-
-moz-mac-accentlightshadow
-
-moz-mac-accentregularhighlight
-
-moz-mac-accentregularshadow
-
-moz-mac-chrome-active
-
-moz-mac-chrome-неактивный
-
-moz-mac-фокусировка
-
-moz-mac-menuselect
-
-moz-mac-menushadow
-
-moz-mac-menutextselect
-
-moz-menuhover
-
-moz-menuhovertext
-
-moz-win-communicationstext
-
-moz-win-mediatext
-
-moz-nativehyperlinktext
дисплей
-
-moz-box
-
-моз-рядный-блок
-
-moz-inline-box
-
-моз-линейная сетка
-
-moz-inline-stack
-
-моз-рядный-стол
-
-моз-сетка
-
-моз-сетка-группа
-
-моз-сетка-линия
-
-moz-groupbox
-
-моз-дека
-
-моз-всплывающее окно
-
-моз-стек
-
-моз-маркер
empty-cells
-
-moz-show-background
(значение по умолчанию в режиме quirks)
шрифт
-
-moz-button
-
-moz-info
-
-моз-настольный
-
-moz-dialog
(тоже цвет) -
-моз-документ
-
-моз-рабочее пространство
-
-моз-окно
-
-моз-лист
-
-moz-выпадающее меню
-
-моз-поле
(тоже цветное)
font-family
image-rendering
list-style-type
-
-moz-arabic-indic
-
-моз-бенгальский
-
-moz-cjk-земное-отделение
-
-moz-cjk-небесный ствол
-
-моз-деванагари
-
-moz-ethiopic-halehame
-
-moz-ethiopic-halehame-am
-
-moz-ethiopic-halehame-ti-er
-
-moz-ethiopic-halehame-ti-et
-
-моз-этиопско-числовой
-
-моз-гуджарати
-
-моз-гурмухи
-
-моз-хангыль
-
-моз-хангыль-согласная
-
-moz-японский-формальный
-
-moz-японский-неформальный
-
-моз-каннада
-
-моз-хмер
-
-моз-лао
-
-моз-малаялам
-
-moz-myanmar
-
-моз-рия
-
-моз-персидский
-
-moz-simp-китайский-формальный
-
-moz-simp-китайский-неформальный
-
-моз-тамильский
-
-моз-телугу
-
-moz-тайский
-
-moz-trad-китайский-формальный
-
-moz-trad-китайский-неформальный
-
-моз-урду
переполнение
выравнивание текста
-
-moz-center
-
-моз-левый
-
-моз-правый
text-decoration
-moz-user-select
width
, min-width
и max-width
-
-moz-min-content
-
-moz-fit-content
-
-moz-max-content
-
-моз-в наличии
внешний вид (-moz-appearance, -webkit-appearance) — CSS: Каскадные таблицы стилей
Свойство CSS appearance
используется для отображения элемента с использованием стиля платформы, основанного на теме операционной системы.Свойства -moz-appearance
и -webkit-appearance
являются нестандартными версиями этого свойства, используемыми (соответственно) Gecko (Firefox) и основанными на WebKit (например, Safari) и Blink- браузеры на основе (например, Chrome, Opera) для достижения того же результата. Обратите внимание, что Firefox и Edge также поддерживают -webkit-appearance
из соображений совместимости.
Свойство -moz-appearance
использовалось в таблицах стилей XUL для разработки пользовательских виджетов со стилем, соответствующим платформе.Он также использовался в реализациях XBL виджетов, поставляемых с платформой Mozilla. Начиная с Gecko / Firefox 80, это использование было изменено на -moz-default-appearance
, который никогда не должен использоваться вне внутренних таблиц стилей.
Примечание: Если вы хотите использовать это свойство на веб-сайтах, вам следует очень внимательно его протестировать. Хотя он поддерживается в большинстве современных браузеров, его реализация варьируется. В старых браузерах даже ключевое слово none
не оказывает одинакового эффекта на все элементы формы в разных браузерах, а некоторые его вообще не поддерживают.В новейших браузерах различий меньше.
внешний вид: нет;
внешний вид: авто;
внешний вид: кнопка-менюлист;
внешний вид: текстовое поле;
внешний вид: кнопка;
внешний вид: поле поиска;
внешний вид: textarea;
внешний вид: кнопочный;
внешний вид: слайдер-горизонтальный;
внешний вид: чекбокс;
внешний вид: радио;
внешний вид: квадратная кнопка;
Внешний вид: менулист;
внешний вид: список;
внешний вид: метр;
внешний вид: прогресс-бар;
-moz-appearance: кнопка полосы прокрутки вверх;
-moz-внешний вид: кнопка-скос;
-webkit-appearance: media-mute-button;
-webkit-appearance: caret;
внешний вид: наследственный;
внешний вид: начальный;
внешний вид: вернуться;
внешний вид: не установлен;
Значения
Стандартные ключевые слова
Значение | Браузер | Описание |
---|---|---|
нет | Firefox Chrome Safari Edge | Никаких специальных стилей не применяется.Это значение по умолчанию. |
авто | Firefox Chrome | Пользовательский агент выбирает соответствующий специальный стиль на основе
элемент. Действует как нет для элементов без специального стиля. |
кнопка-менюсписок | Firefox Chrome Safari Edge | Элемент оформлен в виде кнопки, которая указывает на то, что список меню может быть открыт. |
текстовое поле | Firefox Chrome Safari Edge | |
Следующие значения рассматриваются как эквивалент авто : | ||
кнопка | Firefox Chrome Safari Edge | Элемент нарисован как кнопка. |
флажок | Firefox Chrome Safari Edge | Элемент отображается как флажок, включая только фактические «флажок» часть. |
список | Firefox Chrome Safari Edge | |
менюлист | Firefox Chrome Safari Edge | |
метр | Chrome Safari Firefox | |
индикатор выполнения | Chrome Safari Firefox | |
кнопочный | Chrome Safari Edge | |
радио | Firefox Chrome Safari Edge | Элемент отображается как переключатель, включая только фактические «радио-кнопка» часть. |
поле поиска | Firefox Chrome Safari Edge | |
ползунок горизонтальный | Chrome Safari Edge | |
квадратная кнопка | Chrome Safari Edge | |
текстовое поле | Firefox Chrome Safari Edge |
Нестандартные ключевые слова
Следующие значения реализованы только для одного или обоих свойств с префиксом, но не для стандартного свойства внешнего вида
.
Значение | Браузер | Описание |
---|---|---|
насадка | Safari | |
насадка без полей | Safari | |
пуговица со скосом | Firefox Chrome Safari Edge | |
индикатор крышки | Safari Edge | |
каретка | Firefox Chrome Safari Edge | |
чекбокс-контейнер | Firefox | Элемент нарисован как контейнер для флажка, который может включать в себя фоновый эффект предварительного освещения для определенных платформ.Обычно он содержит метку и флажок. |
флажок-ярлык | Firefox | |
checkmenuitem | Firefox | |
цветная | Safari | тип ввода = цвет |
индикатор постоянного уровня мощности | Safari | |
кнопка по умолчанию | Safari Edge | |
дискретный индикатор уровня емкости | Safari | |
внутренняя кнопка прокрутки | Firefox Chrome Safari | |
кнопка управления изображением | Safari | |
кнопка списка | Safari | даталист |
список | Firefox Chrome Safari Edge | |
кнопка медиа-входа в полноэкранный режим | Chrome Safari | |
кнопка выхода мультимедиа в полноэкранном режиме | Chrome Safari | |
полноэкранный медиа-слайдер | Safari | |
медиа-полноэкранный-регулятор громкости-бегунок | Safari | |
кнопка отключения звука мультимедиа | Chrome Safari Edge | |
кнопка воспроизведения мультимедиа | Chrome Safari Edge | |
оверлейная кнопка воспроизведения мультимедиа | Chrome Safari | |
кнопка возврата мультимедиа в режим реального времени | Safari | |
кнопка перемотки носителя | Safari | |
кнопка поиска мультимедиа назад | Safari Edge | |
кнопка поиска мультимедиа вперед | Safari Edge | |
кнопка переключения-скрытые субтитры | Chrome Safari | |
медиа-слайдер | Chrome Safari Edge | |
медиа-слайдер большой палец | Chrome Safari Edge | |
медиа-объем-слайдер-контейнер | Chrome Safari | |
медиа-регулятор громкости-кнопка отключения звука | Safari | |
медиа-объем-слайдер | Chrome Safari | |
media-volume-sliderthumb | Chrome Safari | |
фон управления медиа | Chrome Safari | |
media-controls-dark-bar-background | Safari | |
media-controls-fullscreen-background | Chrome Safari | |
media-controls-light-bar-background | Safari | |
медиа-текущий-время-дисплей | Chrome Safari | |
дисплей оставшегося времени носителя | Chrome Safari | |
текст-менюлист | Firefox Chrome Safari Edge | |
текстовое поле меню | Firefox Chrome Safari Edge | Элемент оформлен как текстовое поле для списка меню.(Не реализовано для платформы Windows) |
метр | Firefox | Используйте вместо него метр . |
номер-ввод | Firefox | |
индикатор выполнения | Chrome Safari | |
индикатор выполнения | Firefox | Элемент оформлен как индикатор выполнения.Используйте индикатор выполнения вместо |
индикатор выполнения - вертикальный | Firefox | |
диапазон | Firefox | |
большой палец диапазона | Firefox | |
индикатор уровня рейтинга | Safari | |
индикатор уровня релевантности | Safari | |
горизонтальная шкала | Firefox | |
масштабный изгиб | Firefox | |
масштаб по горизонтали | Firefox | |
scalethumbstart | Firefox | |
метка масштаба | Firefox | |
масштаб по вертикали большой палец | Firefox | |
вертикальная шкала | Firefox | |
scrollbarthumb-горизонтальный | Firefox | |
scrollbarthumb-вертикальный | Firefox | |
горизонтальная полоса прокрутки | Firefox | |
вертикальная полоса прокрутки | Firefox | |
оформление поля поиска | Safari Edge | |
searchfield-results-украшение | Chrome Safari Edge | (работает в Chrome 51 в Windows 7) |
кнопка поля поиска | Safari Edge | |
кнопка отмены поля поиска | Chrome Safari Edge | |
накладываемый плагин моментального снимка | Safari | |
лист | Нет | |
ползунок вертикальный | Chrome Safari Edge | |
ползунок большой палец по горизонтали | Chrome Safari Edge | |
ползунок большой палец вертикальный | Chrome Safari Edge | |
многострочное текстовое поле | Firefox | Используйте вместо textarea . |
- кнопка оплаты яблок | Safari | Только iOS и macOS . Доступно в Интернете, начиная с iOS 10.1 и macOS 10.12.1 |
нет | авто | текстовое поле | кнопка-менюлист |, где
= searchfield | textarea | кнопка | слайдер-горизонтальный | флажок | радио | квадратная кнопка | менулист | список | метр | прогресс-бар | кнопка
.exampleone {
-вебкит-внешний вид: кнопка-менюлист;
-моз-внешний вид: кнопка-менюлист;
внешний вид: кнопка-менюлист;
}
Применить индивидуальный стиль
HTML
CSS
ввод {
-webkit-appearance: нет;
-моз-внешний вид: нет;
внешний вид: нет;
дисплей: встроенный блок;
вертикальное выравнивание: по центру;
}
input [type = "checkbox"] {
граница: 2px solid # 555;
ширина: 20 пикселей;
высота: 20 пикселей;
отступ: 4 пикселя;
}
input [type = "checkbox"]: проверено {
фон: # 555;
фон-клип: контент-поле;
}
метка {
дисплей: встроенный блок;
вертикальное выравнивание: по центру;
маржа: 0 0 -2px 8px;
}
Результат
Таблицы BCD загружаются только в браузере
Оптимизация доставки CSS | SEO
Концепция, которую Google пытается установить здесь, заключается в том, что ваши CSS и JS содержат элементы, которые критически важны для отображения страницы.Проблема в том, что когда браузер загружает их, они могут блокировать загрузку других ресурсов. Это связано с тем, что браузер хочет прочитать эти файлы, чтобы увидеть все, что им нужно загрузить для рендеринга страницы. Частью устранения блокировки рендеринга является уменьшение количества файлов, которые браузер должен загружать, особенно файлов в критическом пути (html, CSS, JS), которые могут блокировать загрузку других файлов (изображений и т. Д.)
Google становится еще более конкретным в вашем случае. Они смотрят на верхнюю часть вашей страницы.Google хочет, чтобы вы взяли любой CSS или JS, который вы используете для рендеринга того, что находится «в верхней части страницы» на этой странице, и встроили этот код в свой HTML-файл. Таким образом, когда браузер загружает HTML-файл, у него есть все необходимое для отображения видимой / «верхней части» части страницы, а не ожидания загрузки файлов CSS и / или JS.
Проблема в том, что определение «в верхней части страницы» является относительным из-за разного размера браузера, различных операционных систем и устройств, которые ваш веб-сервер видит на регулярной основе.
Если у вас есть действительно хороший разработчик внешнего интерфейса, он может найти время, чтобы выяснить, какой размер области просмотра является наиболее распространенным, а затем взять все CSS и JS и встроить их (и обратите внимание, что это может отличаться в зависимости от страницы) в ваш HTML (и это предполагает, что ваши CSS и JS не слишком увеличивают размер вашего HTML-файла). Один из подходов состоит в том, чтобы взять наиболее часто встречающийся большой размер области просмотра, а затем встроить в HTML-код все элементы, расположенные выше сгиба, чтобы у вас было все покрыто по мере уменьшения области просмотра.Проблема там (и это также относится к большинству отзывчивых сайтов) заключается в том, что у вас много раздутого кода для браузеров вашего телефона. Вы также можете использовать сниффер, чтобы определить размер области просмотра, а затем на лету встроить соответствующее количество CS и JS. Я также видел, как люди предлагали сначала разрабатывать веб-сайты для телефона, а затем расширяться.
Это лучший веб-сайт, который я когда-либо видел, где рассказывается о том, как взаимодействуют все эти файлы, и о том, что Google действительно получает на
.https: // varvy.ru / pagespeed / critical-render-path.html
.Вот что бы я сделал.
- Создайте единый файл CSS для своего сайта и разместите его на своем сервере, а не во внешнем домене. Это лучшая практика. Потратьте время на то, чтобы вырезать из CSS все, что вы не используете, чтобы уменьшить размер файла. Уменьшите и сожмите его, укажите свой CSS в заголовке. Это может помочь с блокировкой рендеринга, так как вы уменьшаете количество запрашиваемых файлов до 1, но это может не помочь с блокировкой рендеринга выше сгиба.
Если вы хотите продвинуться вперед с «исправлением» вышеупомянутого, используйте блокировку рендеринга сгиба. Извлеките CSS, который имеет решающее значение для рендеринга над элементами свертки на вашем сайте (отмечая приведенные выше предостережения), и поместите его встроенным в свой HTML-файл, а затем поместите остальное в свой единственный CSS-файл. https://varvy.com/pagespeed/optimize-css-delivery.html
- Создайте один файл JS и разместите его на своем сервере. Если есть какой-либо внешний JS, попробуйте и посмотрите, сможете ли вы разместить его в своем единственном файле JS.Удалите весь JS, который вы не используете, чтобы уменьшить размер файла. Уменьшите и сожмите его.
Если вы хотите обойти блокировку рендеринга над элементом сгиба выше, выясните, какой JS нужен для рендеринга страницы над сгибом. Вставьте этот JS в свой HTML, а затем настройте один файл для всех остальных JS, а затем отложите загрузку этого файла, используя эту технику: https://varvy.com/pagespeed/defer-loading-javascript.html
Я заметил ваш внешний JS-файл для Googleadservices.Возможно, вы не сможете поместить этот JS в свой основной файл JS, и вам придется сохранить внешнюю ссылку JS. Затем я бы попробовал отложить загрузку, используя описанную выше технику. Вам необходимо провести некоторое тестирование, чтобы убедиться, что это не влияет на отображение или отслеживание вашей рекламы. Я также хотел бы убедиться, что ваш GA или другой JS-код веб-отслеживания также встроен, иначе вы рискуете сбросить свою веб-статистику.
Вот что делает все это сложным. Инструмент скорости загрузки страниц Google просто просматривает список лучших практик и проверяет, есть они или нет.Они не хотят видеть, действительно ли ваша страница становится быстрее или нет, или если вы измените что-либо из этих вещей, если они нарушат работу вашего сайта.
https://developers.google.com/speed/pagespeed/insights/
PageSpeed Insights анализирует содержимое веб-страницы, затем генерирует предложений , чтобы ускорить эту страницу
Вот почему со всем этим вам нужно использовать инструмент, который показывает фактическую скорость страницы и будет показывать диаграмму водопада с таймингами, чтобы увидеть, как все взаимодействует.webpagetest.org — распространенный.
Это становится действительно сложным, очень быстрым, и именно здесь действительно хороший специалист по фронтенду стоит того, чтобы взглянуть на эти вещи. Я бы начал с моих первоначальных простых предложений, приведенных выше, и не стал бы беспокоиться о том, что написано выше. Протестируйте свой сайт на реальной скорости и посмотрите, как это работает. Вы также можете настроить GA, чтобы получать данные о скорости страницы. Затем вы можете решить, нужно ли вам перейти на следующий уровень.
Еще одна вещь, которую вы можете попробовать (мне не удалось заставить это работать для меня), заключается в том, что у Google есть инструмент, который может делать за вас все встраивание «выше сгиба» и другие трюки со скоростью
https: // разработчики.google.com/speed/pagespeed/module/
Как и выше, я бы проверил вашу производительность, а затем посмотрел, имеет ли это значение для вашего сайта.
Удачи!
CSS свойство: display: `-moz-inline-grid` и` -moz-inline-stack`
Свойство CSS: display: `-moz-inline-grid` и` -moz-inline-stack`
Глобальное использование
0,48% + 0% знак равно 0,48%
IE
- 6-10: Не поддерживается
- 11: Не поддерживается
Edge
- 12-93: Не поддерживается
- 94: Не поддерживается
Firefox
- 2-61: Поддерживается
- 62-69: по умолчанию отключено
- 70-92: не поддерживается
- 93: не поддерживается
- 94-95: не поддерживается
Chrome
- 4-93: не поддерживается
- 94: не поддерживается
- 95-97: Не поддерживается
Safari
- 3.1 — 14.1: Не поддерживается
- 15: Не поддерживается
- TP: Поддержка неизвестна
Opera
- 10 — 79: Не поддерживается
- 80: Не поддерживается
Safari на iOS
- 3.2 — 14.8: Не поддерживается
- 15: Не поддерживается
Opera Mini
- все: Поддержка неизвестна
Браузер Android
- 2.1 — 4.4.4: Не поддерживается
- 94: Не поддерживается
Opera Mobile
- 12 — 12.1: не поддерживается
- 64: не поддерживается
Chrome для Android
- 94: не поддерживается
Firefox для Android
- 92: отключен по умолчанию
UC Browser для Android
- 12.12: Поддержка неизвестно
Samsung Internet
- 4 — 14.0: Не поддерживается
- 15.0: Не поддерживается
Браузер QQ
- 10.4: Поддержка неизвестна
Браузер Baidu
- 7.12: Поддержка неизвестна
Браузер KaiOS
- 2.5: Поддержка неизвестна
CSS -moz-flex-wrap: wrap;
PreviousNextВ этом руководстве показано, как использовать свойство CSS -moz-flex-wrap .
Устанавливает -moz-flex-wrap на
В следующей таблице стилей показано, как использовать -moz-flex-wrap для выполнения «CSS Flexbox Установить ширину элемента в контейнере multiline-flexbox».
Копия раздела{ дисплей : -moz-webkit-flex; дисплей : -webkit-flex; дисплей : гибкий; -moz-flex- направление : ряд; -webkit-flex- направление : ряд; flex- направление : ряд; -moz-flex-wrap: обертывание; -webkit-flex-wrap: обертка; flex-wrap: обертка; ширина : 100%; размер коробки: бордюр - коробка; маржа : 0; } .коробка { граница : сплошной черный 1 пиксель; фон : #ccc; дисплей : блок; -ms-flex: 50%; -moz-flex: 50%; -webkit-flex: 50%; гибкость: 50%; размер коробки: бордюр - коробка; маржа : 0; } / * Исправление гибкости IE10-11: * / @media screen и (-ms-high-Contrast: active), (-ms-high-Contrast: none) { .коробка { гибкость: 0; min- ширина : 50%; } }
Тело HTML:
Копия<раздел>Копировать1234