У меня есть элемент select, я хочу удалить стрелку, затем я могу добавить другой значок ... Я могу сделать это для Firefox Safari и Chrome, но это не сработало в IE9 .
.styled-select select
{
border: 0 !important; /*Removes border*/
-webkit-appearance: none; /*Removes default chrome and safari style*/
-moz-appearance: none; /*Removes default style Firefox*/
background: url('select_icon.png') no-repeat;
background-position: 179px 7px;
text-indent: 0.01px;
text-overflow: "";
color: #FCAF17;
width:200px;
}
СМОТРИ Fiddle в IE9 . все, что мне нужно, это удалить стрелку в ie9. Ответьте JSFIDDLE.
html
css
html-select
Muath
источник
источник
Ответы:
В IE9 это возможно с помощью простого взлома, как советует @Spudley. Поскольку вы настроили высоту и ширину div и выберите, вам нужно изменить
div:before
css в соответствии с вашим.В случае, если это IE10, то с использованием ниже css3 возможно
Однако, если вас интересует плагин jQuery, попробуйте
Chosen.js
или вы можете создать свой собственный в js.источник
display: none;
наopacity: .01
. Увидеть его будет практически невозможно, но он все равно будет активен.select:hover::-ms-expand
состояние зависания для псевдоэлемента, как упомянутоselector:state::pseudo
. Я не смог протестировать с IE, но стоит попробовать :)Я бы предложил свое решение, которое вы можете найти в этом репозитории GitHub . Это работает также для IE8 и IE9 с настраиваемой стрелкой, которая идет от шрифта значка.
Примеры настраиваемого раскрывающегося списка кроссбраузерности в действии: проверьте их во всех своих браузерах, чтобы увидеть возможность кроссбраузерности.
В любом случае, давайте начнем с современных браузеров, а затем мы увидим решение для старых.
Выпадающая стрелка для Chrome, Firefox, Opera, Internet Explorer 10+
Для этих браузеров легко установить одно и то же фоновое изображение для раскрывающегося списка , чтобы у него была такая же стрелка.
Для этого вам необходимо сбросить стиль браузера по умолчанию для
select
тега и установить новые фоновые правила (как предлагалось ранее).Для
appearance
правил установлено значение «Нет», чтобы сбросить настройки браузеров по умолчанию, если вы хотите иметь одинаковый аспект для каждой стрелки, вы должны оставить их на месте.В
background
правилах в примерах устанавливаются с помощью встроенных изображений SVG , которые представляют различные стрелки. Они расположены на 98% слева, чтобы сохранить некоторый запас по правому краю (вы можете легко изменить положение по своему желанию).Чтобы поддерживать правильное кроссбраузерное поведение, нужно оставить только одно правило -
outline
. Это правило сбрасывает границу по умолчанию, которая появляется (в некоторых браузерах) при нажатии на элемент. Все остальные правила при необходимости можно легко изменить.Стрелка раскрывающегося списка для Internet Explorer 8 (IE8) и Internet Explorer 9 (IE9) с использованием шрифта Icon
Это сложнее ... А может, и нет.
Не существует стандартного правила, чтобы скрыть стрелки по умолчанию для этих браузеров (например,
select::-ms-expand
для IE10 +). Решение состоит в том, чтобы скрыть часть раскрывающегося списка , содержащую стрелку по умолчанию, и вставить шрифт значка стрелки (или SVG, если хотите), аналогичный SVG, который используется в других браузерах (подробнее см.select
Правило CSS. подробности об используемом встроенном SVG).Самый первый шаг - установить класс, который может распознавать браузер: это причина, по которой я использовал условные IE IF в начале кода. Эти IF используются для присоединения определенных классов к
html
тегу для распознавания старого браузера IE.После этого каждый элемент
select
HTML должен быть обернутdiv
(или любым другим тегом, который может обертывать элемент). В эту оболочку просто добавьте класс, содержащий шрифт значка.Проще говоря, эта оболочка используется для имитации
select
тега.Чтобы действовать как раскрывающийся список, оболочка должна иметь границу, потому что мы скрываем ту, которая идет от
select
.Обратите внимание, что мы не можем использовать
select
границу, потому что мы должны скрыть стрелку по умолчанию, удлиняя ее на 25% больше, чем оболочку. Следовательно, его правая граница не должна быть видна, потому что мы скрываем эти 25%overflow: hidden
правилом, примененным кselect
самому себе.Пользовательский шрифт значка стрелки помещается в псевдокласс,
:before
где правилоcontent
содержит ссылку для стрелки (в данном случае это правая скобка).Мы также помещаем эту стрелку в абсолютное положение, чтобы центрировать ее как можно больше (если вы используете разные шрифты значков, не забудьте настроить их соответствующим образом, изменив верхнее и левое значения и размер шрифта).
Вы можете легко создать и заменить фоновую стрелку или стрелку шрифта значка на каждую, которую вы хотите, просто изменив ее в
background-image
правиле или создав новый файл шрифта значка самостоятельно.источник
Если вы хотите использовать класс и псевдокласс:
.simple-control
твой класс css:disabled
это псевдоклассисточник