it-swarm.dev

Scorri la freccia nelle caselle di selezione che non vengono visualizzate

Sto usando un tema di wordpress e per qualche ragione, le caselle HTML select non hanno l'area a tendina. Sembrano semplicemente semplici caselle di testo input, sebbene quando si fa clic su di esse, è possibile visualizzare l'elenco a discesa. Non riesco a trovare quale codice potrebbe spogliare le frecce a discesa. 

Questo è tutto ciò che vedo nel CSS:

input:focus {
outline: none;
}

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

Ecco una selezione di base

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

Ora vediamo dove è il tuo problema:

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>

Quindi, quando si imposta none su appearance si rimuove la freccia (che di default è menulist) e quando si imposta 0 su border-radius, si rimuove border per impostazione predefinita select.

NOTESe hai nascosto la freccia in IE con questa regola select::-ms-expand { display: none; } per riavere la freccia, dovresti impostarla display:block

13
dippas

Hai sostituito la proprietà -webkit-appearance per select, che è stata impostata come -webkit-appearance: menulist; come valore predefinito dai browser. 

8
dsaket

Puoi racchiudere select in un div e su div puoi dare ::after elemento e stile: 

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

La risposta è corretta per la maggior parte, ma non ha funzionato per me. Questo ha fatto il trucco

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

Ho provato sopra le soluzioni ma non funzionava per l'interfaccia utente, che è stata creata utilizzando jquery.min.css. Ho provato sotto CSS e ha risolto il mio problema. Qui sto prendendo di mira .ui-icon-carat-d, che ha mostrato la freccia a discesa e l'icona a discesa delle impostazioni lì:

.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