2011-11-22 11 views
14

io qui ho 3 <input> s nel mio HTML:Come selezionare <input> che non ha "tipo" con i CSS

Name: <input><br> 
Age: <input type="number"><br> 
Site: <input type="url"> 

E posso selezionare il fondo due con questi CSS:

input[type="number"]{ 
    color: gray; 
} 
input[type="url"]{ 
    color: blue; 
} 

Ma non so come selezionare il primo che non ha tipo.
ho provato:

input{ 
    color: red; 
} 

ma cambierà gli altri due pure.

input[type=""]{ 
    color: red; 
} 

Questo non funziona ancora.
Qualche idea?

+0

vostro lavoro codice di questo http://jsfiddle.net/Wh42e/ – sandeep

+1

perché non impostare 'type' a' Text'? –

risposta

29

Il selettore input[type=""] cerca un input con l'attributo type che è impostato su vuoto. Provare a utilizzare questo:

input:not([type]) { } 

See the jsFiddle.

+0

Tuttavia, non funziona in IE. – Godwin

+3

@Godwin: funziona in IE9. – animuson

+0

Wow, non avevo mai pensato di poterlo fare. Grazie! –

0

non dovesse funzionare in IE6

input[type="text"]:first-child 

O

#form input[type="text"]:first-child 
0

Forse si potrebbe aggiungere un id o attributo di classe sull'input che desideri scegliere come target. Così, per esempio:

Name: <input id="name-input"> 

Poi nel CSS:

#name-input 
{ 
    color: red 
} 
5

Un altro approccio potrebbe essere quello di utilizzare CSS Specificità, e applicare uno stile generale a tutti gli elementi di input, quindi applicare gli stili più specifici per ingressi con attributo type. :)

1

La soluzione migliore per la compatibilità tra browser è probabilmente solo la definizione di ciò che si desidera e quindi la ridefinizione per ogni altro tipo di input. vale a dire: controllare

input { 
    color: red; 
} 
input[type="button"], 
input[type="submit"], 
... 
input[type="input"] { 
    color: red; 
} 
Problemi correlati