2011-11-18 13 views
24

voglio essere in grado di definire un'altezza per l'elemento di selezione quando il suo multiplo per falsoCSS per l'elemento selezionare più = yes

select{height: 30px;} 

Ma io non voglio che sia applicata quando la SELECT ha la multipla = yes.

Può essere definito in CSS?

+0

selezionare [multiple = true] {/ * style * /} – jolt

risposta

66

prima cosa, affinché un select elemento non essere in modalità multi-selezione, l'attributo multiple deve essere completamente omesso. Anche se si imposta multiple="no" o multiple="false", il comportamento standard è lo stesso di HTML multiple o XHTML multiple="multiple". Per ulteriori informazioni, fare riferimento a the HTML spec.

Con questo in mente, utilizzare il CSS3 :not() selettore per escludere qualsiasi select con quell'attributo:

select:not([multiple]) { 
    height: 30px; 
} 

Oppure, se avete bisogno di IE7 + supporto, applicare l'altezza a tutti select elementi poi ripristinarla per quelli con quel attributo:

select { 
    height: 30px; 
} 

select[multiple] { 
    height: auto; 
} 
3
select[multiple]{ 
height: 30px 
} 

select[multiple]:focus{ 
height:auto 
} 

io non so se questo risponde alla domanda. È un contributo.

Problemi correlati