appearance — CSS — Дока
- Кратко
- Как понять
- Сбрасываем внешний вид
- Меняем внешний вид элемента
- Как пишется
- На практике
- Денис Ежков советует
Кратко
Скопировано
Некоторые элементы форм имеют уникальный внешний вид в каждой операционной системе. Например, выпадающий список в macOS внешне выглядит совсем не так, как такой же выпадающий список в Windows.
Свойство appearance
позволяет задавать внешний вид одних элементов другим элементам. При этом браузер будет отрисовывать их с учётом текущей операционной системы пользователя и темы оформления.
В настоящее время используется в основном appearance
для сброса системных стилей, остальные значения не работают практически ни в одном браузере.
Как понять
Скопировано
Свойство appearance
может использоваться как для задания, так и для сброса внешнего вида элемента.
Сбрасываем внешний вид
Скопировано
Если задать appearance
, то происходит «сброс» внешнего вида элемента. Приведение его к общему знаменателю во всех браузерах и всех операционных системах.
Например, в браузере Safari на iOS поле ввода с атрибутом type
принудительно стилизуется скруглёнными углами, тенями и рамками. Чтобы не перекрывать каждое свойство по отдельности, можно задать такому полю appearance
.
Если пример открыть не в мобильном браузере, то разница не заметна, так как в десктопных браузерах внешний вид полей ввода более или менее унифицирован.
Меняем внешний вид элемента
Скопировано
Значение appearance
, отличное от none
, задаётся, чтобы применить специфичные для платформы стили к элементам, у которых этих стилей нет.
В этом случае, если нам нужно, чтобы поле ввода выглядело как поле поиска, мы можем задать appearance
Как пишется
Скопировано
.element { appearance: none;}
.element {
appearance: none;
}
Значение по умолчанию:
.element { appearance: auto;}
.element {
appearance: auto;
}
💡
Можно заметить, что в примерах выше некоторые CSS-свойства начинаются с префиксов -moz
, -webkit
или -ms
. Такие префиксы называются вендорными и используются довольно редко. Вендорными префиксами снабжаются те CSS-свойства, которые ещё официально не утверждены стандартом, либо пока не поддерживаются браузером в полной мере. Так, например, свойства с префиксом -moz
будут применяться только браузером на движке Gecko
(Mozilla Firefox).
На практике
Скопировано
Денис Ежков советует
Скопировано
🛠 Сброс стандартного отображения элементов может быть полезным при применении пользовательских стилей к элементам форм:
Открыть демо в новой вкладкеЕсли вы нашли ошибку, отправьте нам пул-реквест!
Во время отправки формы что-то пошло не так. Попробуйте ещё раз?
←
:required
ctrl + alt + ←
→
resize
ctrl + alt + →
appearance ⚡️ HTML и CSS с примерами кода
Свойство -moz-appearance
используется в Gecko (Firefox) для отображения элемента, используя базовые стили платформы на основе темы операционной системы.
Свойство -webkit-appearance
используется в браузерах WebKit-based (например, Safari) и Blink-based (например, Chrome, Opera) для того же эффекта. Заметьте, что Firefox и Edge также поддерживают -webkit-appearance
, для обеспечения совместимости.
Демо
Интерфейс- appearance
- box-sizing
- caret-color
- cursor
- outline
- outline-width
- outline-style
- outline-color
- outline-offset
- resize
- text-overflow
- user-select
Синтаксис
/* CSS модуль базового интерфейса 4 уровня, значения */ appearance: none; appearance: auto; appearance: button; appearance: textfield; appearance: searchfield; appearance: textarea; appearance: push-button; appearance: button-bevel; appearance: slider-horizontal; appearance: checkbox; appearance: radio; appearance: square-button; appearance: menulist; appearance: menulist-button; appearance: listbox; appearance: meter; appearance: progress-bar; /* Частичный список доступных значений в Gecko */ -moz-appearance: scrollbarbutton-up; -moz-appearance: button-bevel; /* Частичный список доступных значений в WebKit/Blink (таких как Gecko и Edge) */ -webkit-appearance: media-mute-button; -webkit-appearance: caret;
Свойство -moz-appearance
может быть указано как одно значение, выбранное из списка ниже.
Спецификация
- CSS Basic User Interface Module Level 4
Пример
HTMLCSSРезультат
<h4>Check:</h4> <p><input type="checkbox"></input><label>Include Options</label></p> <h4><br/>Select one:</h4> <p><input type="radio" name="radio"></input><label>Option A</label></p> <p><input type="radio" name="radio"></input><label>Option B</label></p>
input { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; display: inline-block; vertical-align: middle; } input[type='checkbox'] { border: 2px solid #555; width: 20px; height: 20px; outline: none; padding: 4px; } input[type='checkbox']:checked { background: #555; background-clip: content-box; } input[type='radio'] { border: 2px solid #555; border-radius: 10px; width: 20px; height: 20px; outline: none; padding: 4px; } input[type='radio']:checked { background: #555; background-clip: content-box; } p, h4 { color: #333; font-family: helvetica, arial; } label { display: inline-block; vertical-align: middle; margin: 0 0 -2px 8px; }
Ссылки
- appearance MDN (рус. )
— CSS: каскадные таблицы стилей
Свойство CSS внешний вид
используется для управления собственным внешним видом элементов управления пользовательского интерфейса, основанных на теме операционной системы.
До стандартизации это свойство позволяло отображать простые элементы в виде виджетов, таких как кнопки или флажки. Это было сочтено ошибкой, и теперь авторам рекомендуется использовать только стандартные ключевые слова.
Примечание: Если вы хотите использовать это свойство на веб-сайтах, вам следует тщательно протестировать его. Хотя он поддерживается в большинстве современных браузеров, его реализация различается. В старых браузерах даже ключевое слово none
не оказывает одинакового эффекта на все элементы формы в разных браузерах, а некоторые вообще не поддерживают его. Различия меньше в новейших браузерах.
/* Базовый модуль пользовательского интерфейса CSS, уровень 4, значения */ внешний вид: нет; внешний вид: авто; внешний вид: меню-кнопка; внешний вид: текстовое поле; /* Значения «Compat-auto», которые имеют тот же эффект, что и «auto» */ внешний вид: кнопка; внешний вид: поле поиска; внешний вид: текстовая область; внешний вид: кнопочный; внешний вид: слайдер-горизонтальный; внешний вид: флажок; внешний вид: радио; внешний вид: квадратная кнопка; внешний вид: список меню; внешний вид: список; внешний вид: метр; внешний вид: прогресс-бар; /* Частичный список доступных значений в Gecko */ -moz-внешний вид: полоса прокрутки кнопкой вверх; -моз-внешний вид: пуговица-скос; /* Частичный список доступных значений в WebKit/Blink (а также в Gecko и Edge) */ -webkit-внешний вид: медиа-кнопка отключения звука; -webkit-внешний вид: каретка; /* Глобальные значения */ внешний вид: наследуй; внешний вид: начальный; внешний вид: реверс; внешний вид: реверс-слой; внешний вид: не установлен;
Значения
Стандартные ключевые слова
Значение | Браузер | Описание |
---|---|---|
нет | Firefox Chrome Safari Edge | Скрывает некоторые функции виджетов, такие как стрелка, отображаемая в элементе выбора, указывающая, что список можно расширить. |
авто | Firefox Chrome Edge | Пользовательский агент выбирает соответствующий специальный стиль на основе
элемент. Действует как нет для элементов без специального стиля. |
кнопка списка меню | Firefox Chrome Safari Edge | |
текстовое поле | Firefox Chrome Safari Edge | |
Следующие значения считаются эквивалентными auto : | ||
кнопка | Firefox Chrome Safari Edge | Элемент раньше рисовался как кнопка. |
флажок | Firefox Chrome Safari Edge | Раньше элемент рисовался как флажок, включая только фактический часть «флажок». |
список | Firefox Chrome Safari Edge | |
список меню | Firefox Chrome Safari Edge | |
счетчик | Chrome Safari Firefox | |
индикатор выполнения | Chrome Safari Firefox | |
кнопка | Край Chrome Safari | |
радио | Firefox Chrome Safari Edge | Раньше элемент рисовался как радиокнопка, включая только фактический часть «радиокнопка». |
поле поиска | Firefox Chrome Safari Edge | |
слайд-горизонтальный | Край Chrome Safari | |
квадратная кнопка | ||
текстовая область | Firefox Chrome Safari Edge |
Нестандартные ключевые слова
Следующие значения могут работать в исторических версиях браузера с использованием префикса -moz-appearance
или -webkit-appearance
, но не со стандартным свойством возникновения
.
Значение | Браузер | Описание |
---|---|---|
насадка | Сафари | |
| Сафари | |
кнопка-скос | Firefox Chrome Safari Edge | |
Индикатор Caps Lock | Край Safari | |
каре | Firefox Chrome Safari Edge | |
контейнер-флажок | Фаерфокс | Элемент отображается как контейнер для флажка, который может включать фоновый эффект предварительной подсветки на некоторых платформах. Обычно он содержит метку и флажок. |
флажок-метка | Фаерфокс | |
элемент меню проверки | Фаерфокс | |
Колодка для окрашивания | Сафари | тип ввода=цвет |
индикатор уровня постоянной емкости | Сафари | |
кнопка по умолчанию | Край Safari | |
индикатор уровня дискретной емкости | Сафари | |
внутренняя кнопка вращения | Firefox Chrome Safari | |
кнопка управления изображением | Сафари | |
кнопка-список | Сафари | список данных |
элемент списка | Firefox Chrome Safari Edge | |
медиа-вход-кнопка полноэкранного режима | Хром Сафари | |
медиа-выход-кнопка полноэкранного режима | Хром Сафари | |
медиа-полноэкранный слайдер громкости | Сафари | |
медиа-полноэкранный-ползунок громкости | Сафари | |
кнопка отключения звука | Край Chrome Safari | |
кнопка воспроизведения мультимедиа | Край Chrome Safari | |
медиа-оверлей-кнопка воспроизведения | Хром Сафари | |
кнопка возврата в режим реального времени | Сафари | |
кнопка перемотки мультимедиа | Сафари | |
кнопка возврата назад | Край Сафари | |
кнопка медиапоиска вперед | Край Safari | |
медиа-переключатель-кнопка субтитров | Хром Сафари | |
медиа-слайдер | Край Chrome Safari | |
медиа-ползунок | Край Chrome Safari | |
медиа-контейнер-слайдер | Хром Сафари | |
медиа-громкость-ползунок-кнопка отключения звука | Сафари | |
ползунок громкости медиа | Хром Сафари | |
медиа-громкость-ползунок | Хром Сафари | |
медиа-управление-фон | Хром Сафари | |
медиа-управление-темная полоса-фон | Сафари | |
медиа-управление-полноэкранный-фон | Хром Сафари | |
медиа-управление-свет-бар-фон | Сафари | |
медиа-текущее-время-дисплей | Хром Сафари | |
отображение оставшегося времени мультимедиа | Хром Сафари | |
текст меню | Firefox Chrome Safari Edge | |
меню-текстовое поле | Firefox Chrome Safari Edge | Элемент оформлен как текстовое поле для списка меню. (Не реализовано для платформы Windows) |
метр бар | Фаерфокс | Вместо этого используйте метра . |
числовой ввод | Фаерфокс | |
значение прогресс-бара | Хром Сафари | |
полоса прогресса | Фаерфокс | Элемент имеет стиль индикатора выполнения. Используйте индикатор выполнения вместо |
ProgressBar-вертикальный | Фаерфокс | |
диапазон | Фаерфокс | |
большой палец | Фаерфокс | |
индикатор уровня рейтинга | Сафари | |
индикатор уровня релевантности | Сафари | |
шкала горизонтальная | Фаерфокс | |
шкалаизгиб | Фаерфокс | |
шкала с ручкой-горизонтальная | Фаерфокс | |
шкала | Фаерфокс | |
шкала отметок | Фаерфокс | |
шкала вертикальная | Фаерфокс | |
шкала вертикальная | Фаерфокс | |
полоса прокрутки, горизонтальная | Фаерфокс | |
полоса прокрутки, вертикальная | Фаерфокс | |
полоса прокрутки-горизонтальная | Фаерфокс | |
полоса прокрутки по вертикали | Фаерфокс | |
украшение поля поиска | Край Safari | |
поиск-результаты-украшение | Край Chrome Safari | (работает на Chrome 51 в Windows 7) |
кнопка результатов поля поиска | Край Safari | |
поле поиска-кнопка отмены | Край Chrome Safari | |
снэпшот-плагин-оверлей | Сафари | |
лист | Нет | |
ползунок вертикальный | Край Chrome Safari | |
ползунок-горизонтальный | Край Chrome Safari | |
ползунок вертикальный | Край Chrome Safari | |
многострочное текстовое поле | Фаерфокс | Вместо этого используйте текстовое поле . |
-кнопка Apple Pay | Сафари | Только iOS и macOS . Доступно в Интернете, начиная с iOS 10.1 и macOS 10.12.1 |
Исходное значение | нет | ||
---|---|---|---|
Применимо к | все элементы | нет | |
Расчетное значение | как указано | ||
Тип анимации | дискретный |
внешний вид =
нет |
авто |
|
">
=
поле поиска |
текстовое поле |
кнопка |
горизонтальный ползунок |
флажок |
радио |
квадратная кнопка |
список меню |
список |
счетчик |
прогресс-бар |
кнопка">
=
textfield |
menulist-button
. exampleone { -webkit-внешний вид: меню-кнопка; -moz-внешний вид: менюлист-кнопка; внешний вид: меню-кнопка; }
Применение пользовательского стиля
HTML
CSS
.нет { внешний вид: нет; } .авто { внешний вид: авто; }
Результат
Спецификация | ||
---|---|---|
Базовый модуль пользовательского интерфейса CSS, уровень 4 # внешний вид-переключение | 901 | 1 Таблицы CD загружаются только в браузере с включенным JavaScript. Включите JavaScript для просмотра данных.
Обнаружили проблему с содержанием этой страницы?
Хотите принять больше участия? Узнайте, как внести свой вклад. Последний раз эта страница была изменена участниками MDN. Внешний вид| CSS-трюки - CSS-трюкиDigitalOcean предоставляет облачные продукты для каждого этапа вашего путешествия. Начните с бесплатного кредита в размере 200 долларов США! Свойство .вещь { -webkit-внешний вид: значение; -moz-внешний вид: значение; внешний вид: стоимость; } Это начинает быть без префикса, и это здорово, потому что кросс-браузерная история здесь очень сложная. Свойство
Например, входные данные с типом |