Ho usato un paio di hack CSS e mirato Chrome/Safari/Firefox/IE singolarmente, come ogni browser rende seleziona un po 'diverso. Ho provato su tutti i browser tranne IE.
Per Safari/Chrome, impostare il height
e line-height
si desidera per il <select />
.
Per Firefox, stiamo andando a uccidere padding di default di Firefox e di frontiera, quindi impostare la nostra. Imposta il padding come vuoi.
Per IE 8+, proprio come Chrome, abbiamo impostato le proprietà height
e line-height
. Questi due media queries
possono essere combinati. Ma l'ho tenuto separato per scopi dimostrativi. Quindi puoi vedere cosa sto facendo.
Si prega di notare, per la proprietà height/line-height
di lavorare in Chrome/Safari OSX, è necessario impostare il background
per un valore personalizzato. Ho cambiato il colore nel mio esempio.
Ecco un jsFiddle del sottostante: http://jsfiddle.net/URgCB/4/
Per la rotta non-hack, perché non utilizzare una selezione personalizzata plug-in tramite jQuery? Dai un'occhiata a questo:http://codepen.io/wallaceerick/pen/ctsCz
HTML:
<select>
<option>Here's one option</option>
<option>here's another option</option>
</select>
CSS:
@media screen and (-webkit-min-device-pixel-ratio:0) { /*safari and chrome*/
select {
height:30px;
line-height:30px;
background:#f4f4f4;
}
}
select::-moz-focus-inner { /*Remove button padding in FF*/
border: 0;
padding: 0;
}
@-moz-document url-prefix() { /* targets Firefox only */
select {
padding: 15px 0!important;
}
}
@media screen\0 { /* IE Hacks: targets IE 8, 9 and 10 */
select {
height:30px;
line-height:30px;
}
}
fonte
2013-12-09 18:32:59
uso 'line-height'. Imposta il valore sull'altezza impostata. Ad esempio, 'line-height: 40px;' –
Condividi il codice che hai già. –
a quale elemento si riferisce (div, table, span, ...)? puoi pubblicare il codice .... –