2012-03-08 15 views
8

Eventuali duplicati:
padding is not working in Safari and IE in select listImbottitura non funziona su alcuni tag in Safari

Così ho un tag select base in questo modo:

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

Ma se Metto il padding sul tag select, non funziona su Safari:

select { 
    padding: 6px; 
} 

Su IE7, capisco, ma su Safari? C'è un modo per aggirare questo?

+0

vedere http://stackoverflow.com/questions/2966855/padding-is-not-working-in-safari-and-ie-in-select-list – Luca

risposta

16

risposto in precedenza qui: https://stackoverflow.com/a/2967371/181002

Webkit ha preso su di sé per non consentire imbottitura per select -Gli oggetti, ma è possibile ottenere lo stesso effetto utilizzando un semplice 'hack', costituito da applicare line-height e text-indent al tuo scegliere oggetto.

Ecco un esempio: http://jsfiddle.net/B858P/

+0

mi piacerebbe piace vedere il tuo esempio jsFiddle ma penso che il link sia rotto. – catandmouse

+0

Sì, sembra che jsFiddle non funzioni. Ecco un equivalente jsBin: http://jsbin.com/eleduj/2/edit Attenzione però, questo hack è praticamente esclusivo per il webkit, dal momento che il rientro del testo sembra inviare la piccola icona di selezione all'esterno della finestra di Firefox, e line-height non fa proprio nulla, il che significa che probabilmente sarai costretto a eseguire tutti i tipi di hack CSS per farlo funzionare cross browser, ea quel punto, probabilmente stai meglio costruendo la nostra selectbox personalizzata : http://weblogs.asp.net/jaimedelpalacio/archive/2008/11/22/custom-html-dropdown-control-part-1.aspx –

+0

Mi chiedo quale sia la ragione alla base della disattivazione del padding per i browser Webkit? Ad ogni modo, in Chrome viene visualizzato il riempimento, il problema si verifica solo in Safari. Proverò comunque la tua soluzione. – catandmouse

Problemi correlati