Выберите изменение стиля стрелки

Я пытаюсь заменить стрелку выбора с моей собственной фотографией. Я включаю выбор в div с одинаковым размером, я устанавливаю фон выбора как прозрачный, и я включаю изображение (с тем же размером, что и стрелка) в правом верхнем углу div как фон.

Он работает только в Chrome.

введите описание изображения здесь

Как я могу заставить его работать в Firefox и IE9, где я получаю это:

введите описание изображения здесь

.styled-select { width: 100px; height: 17px; overflow: hidden; overflow: -moz-hidden-unscrollable; background: url(images/downarrow_blue.png) no-repeat right white; border: 2px double red; display: inline-block; position: relative; } .styled-select select { background: transparent; -webkit-appearance: none; width: 100px; font-size: 11px; border: 0; height: 17px; position: absolute; left: 0; top: 0; } body { background-color: #333333; color: #FFFFFF; } .block label { color: white; } 
     

Select steam

Вы пробовали что-то вроде этого:

 .styled-select select { -moz-appearance:none; /* Firefox */ -webkit-appearance:none; /* Safari and Chrome */ appearance:none; } 

Не тестировали, но должны работать.

EDIT : похоже, что Firefox не поддерживает эту функцию до версии 35 ( подробнее здесь )

Здесь есть обходной путь, посмотрите на jsfiddle на этом посту.

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

Макет выглядит следующим образом:

 

JsFiddle

Работа с одним classом:

 select { width: 268px; padding: 5px; font-size: 16px; line-height: 1; border: 0; border-radius: 5px; height: 34px; background: url(http://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/16x16/br_down.png) no-repeat right #ddd; -webkit-appearance: none; background-position-x: 244px; } 

http://jsfiddle.net/qhCsJ/4120/

Я настроил select с пользовательской стрелкой, подобной ответу Julio, однако он не имеет установленной ширины и использует svg в качестве фонового изображения. ( arrow_drop_down из arrow_drop_down material-ui)

 select { -webkit-appearance: none; -moz-appearance: none; background: transparent; background-image: url("data:image/svg+xml;utf8,"); background-repeat: no-repeat; background-position-x: 100%; background-position-y: 5px; border: 1px solid #dfdfdf; border-radius: 2px; margin-right: 2rem; padding: 1rem; padding-right: 2rem; } 

введите описание изображения здесь

Если вам нужно, чтобы он также работал в IE, обновите svg arrow до base64 и добавьте следующее:

 select::-ms-expand { display: none; } background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSdibGFjaycgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyB3aWR0aD0nMjQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHBhdGggZD0nTTcgMTBsNSA1IDUtNXonLz48cGF0aCBkPSdNMCAwaDI0djI0SDB6JyBmaWxsPSdub25lJy8+PC9zdmc+); 

Это будет хорошо работать специально для тех, кто использует Bootstrap, проверенный в последних версиях браузера:

 select { -webkit-appearance: none; -moz-appearance: none; appearance: none; /* Some browsers will not display the caret when using calc, so we put the fallback first */ background: url("http://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/16x16/br_down.png") white no-repeat 98.5% !important; /* !important used for overriding all other customisations */ background: url("http://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/16x16/br_down.png") white no-repeat calc(100% - 10px) !important; /* Better placement regardless of input width */ } 
  

Проверьте это. Это взломанно, просто:

  • Устанавливать -prefix-appearance none удалять стили
  • Используйте text-indent для «нажимать» содержимое немного вправо
  • Наконец, установите text-overflow в пустую строку. Все, что выходит за пределы его ширины, станет … ничего! И это включает стрелку.

Теперь вы можете стилизовать его так, как хотите 🙂

Вот мой пример jsfiddle: http://jsfiddle.net/AEt5k/1/

Создайте ярлык с помощью CSS и используйте события указателя:

  

и относительный CSS

 label:after { content:'\25BC'; display:inline-block; color:#000; background-color:#fff; margin-left:-17px; /* remove the damn :after space */ pointer-events:none; /* let the click pass trough */ } 

Я просто использовал стрелку вниз, но вы можете установить блок с фоновым изображением. Вот пример уродливой скрипки: https://jsfiddle.net/1rofzz89/

Он работает во всех браузерах:

 select { width: 268px; padding: 5px; font-size: 16px; line-height: 1; border: 0; border-radius: 5px; height: 34px; background: url(http://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/16x16/br_down.png) no-repeat right #ddd; appearance:none; -moz-appearance:none; /* Firefox */ -webkit-appearance:none; /* Safari and Chrome */ background-position-x: 244px; } 
  • Можно ли настроить UITableView для разрешения множественного выбора?
  • Как выбрать различные строки в datatable и хранить в массиве
  • Суммируйте результаты нескольких запросов, а затем найдите 5 лучших в SQL
  • MySQL - выбор последней вставленной строки проще всего
  • Создайте временную таблицу в инструкции SELECT без отдельной таблицы CREATE TABLE
  • Выберите все столбцы после JOIN в LINQ
  • Mysql выбирает различные
  • SQL-запрос возвращает данные из нескольких таблиц
  • INSERT INTO ... SELECT для всех столбцов MySQL
  • выбрать счетчик приращений в mysql
  • Выберите определенную строку из таблицы mysql
  • Interesting Posts

    Пакетное преобразование нескольких PDF в изображение на Mac

    Текст цикла, который стирает слева направо, используя фильтр FFMPEG drawtext

    Можно ли импортировать весь каталог в sass с помощью @import?

    Редактирование столбцов в Notepad ++ является удивительным. Как копировать / вставлять в режиме столбцов?

    Применить функцию условно

    Почему используется пейджинг?

    Socket.io + Node.js Запрос на перекрестный запрос заблокирован

    Отправка символов ASCII на USB-кабель USB / RS232

    Любой способ запустить Google Chrome в режиме безголового?

    Как предотвратить длительное копирование имени файла с внешнего диска?

    Microsoft Word 2010 – Условное форматирование

    BSOD на ноутбуке Vista (работает безопасный режим) – мысли и подходы?

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

    Автоматическая компоновка: получить высоту UIImageView, чтобы правильно вычислить высоту ячейки

    128-битное целое число на cuda?

    Давайте будем гением компьютера.