it-swarm.com.ru

Стрелка выпадающего меню не отображается

Я использую тему WordPress и по какой-то причине в полях HTML select нет выпадающей области. Они выглядят как обычные текстовые поля input, хотя при нажатии на них вы можете увидеть выпадающий список. Я не могу найти, какой код может убирать выпадающие стрелки. 

Это все, что я вижу в CSS:

input:focus {
outline: none;
}

select,
input,
textarea {
-webkit-appearance: none;
-webkit-border-radius:0; 
border-radius:0; 
}
9
JA4677

Вот основной выбор

<select>
  <option>1</option>
  <option>2</option>
  <option>3</option>
</select>

Теперь давайте посмотрим, где ваша проблема:

select {
  -webkit-appearance: none;
  /*webkit browsers */
  -moz-appearance: none;
  /*Firefox */
  appearance: none;
  /* modern browsers */
  border-radius: 0;

}
<select>
  <option>1</option>
  <option>2</option>
  <option>3</option>
</select>

Поэтому, когда вы устанавливаете none в appearance, вы удаляете стрелку (которая по умолчанию menulist), а когда вы устанавливаете 0 в border-radius, вы удаляете border по умолчанию для select.

NOTEЕсли вы спрятали стрелку в IE с этим правилом select::-ms-expand { display: none; }, чтобы вернуть стрелку назад, вам нужно будет установить ее display:block

13
dippas

Вы переопределили свойство -webkit-appearance для select, которое было установлено как -webkit-appearance: menulist; в качестве значения по умолчанию в браузерах. 

8
dsaket

Вы можете заключить select в div, и для этого div вы можете задать элемент и стиль ::after

div:after{
    position: absolute;
    top: 4px;
    right: 10px;
    color: #768093;
    font-family: #whichever font you wanna use# e.g Fontawesome;
    font-size: 20px;
    content: "\e842";
}

div:after{ 
    position: absolute;
    visibility: visible;
    font-family: FontAwesome;
    content: "\f096";
    font-size: 18px;
}
1
Shubham Yadav

Ответ правильный для большинства, но у меня не получилось. Это сделал трюк

select::-ms-expand { display: block; }
1
franer

Я пробовал выше решения, но он не работал для пользовательского интерфейса, который был создан с использованием jquery.min.css. Я попробовал ниже CSS и это решило мою проблему. Здесь я нацеливаюсь на .ui-icon-carat-d, который показывает стрелку раскрывающегося списка и устанавливает там значок раскрывающегося списка:

.ui-icon-carat-d:after{
    background: url("https://cdn1.iconfinder.com/data/icons/pixel-perfect-at-16px-volume-2/16/5001-128.png") 95% 32% !important;
    background-repeat: no-repeat !important;
    background-color: #fff !important;
}
0
GSB