2012-09-02 1 views
6

Ich versuche, die Art und Weise zu ändern, wie ein Submit-Button aussieht - ich kann uns nicht ID oder Klasse oder so etwas.CSSing ein Eingabe-Typ nur senden - nicht für alle Eingaben, während ich nicht ändern kann die HTML überhaupt

ich habe ein div - innerhalb dieses div 2 eingänge 1 ist ein text der andere ist sagen wir sagen, die div's klasse ist halter.

<div class="holder"> 
<input type="text" name="somename" value="somevalue"> 
<input type="submit" name="submit" value="save changes"> 
</div> 

meine aktuelle CSS ist:

.holder input, textarea { 
width:250px; 
} 

jedoch für diese Änderung sowohl Eingangstypen. und ich versuche, sie individuell zu ändern.

+2

Ihr div sagt 'class =" holder "', aber Sie haben '# holder' im CSS. Verwenden Sie '.holder' für Klassen,' #holder' für IDs. – sachleen

Antwort

13

Sie können die spezifischen Attribute angeben, für CSS-Eigenschaften erforderlich:

.holder input[type=submit] { 
    width:250px; 
} 

Referenz: http://www.w3.org/TR/CSS2/selector.html#attribute-selectors

Im Grunde bedeutet es, dass die Breite Eigenschaft nur zu <input> Tags innerhalb der #holder Behälter gilt, wenn der Typ Attribut hat den Wert "submit".

Sie können dies auch auf dem Attributnamen verwenden:

.holder input[name=submit] { 
    width:250px; 
} 
4

Der Wähler für die Eingabe einreichen wäre:

.holder input[type="submit"] 

Beachten Sie, dass Ihre div hat eine Klasse von „Halter“ , nicht eine ID von "Halter", also verwenden Sie . nicht #.

+0

Danke, das funktioniert in allen Browsern übrigens? –

+0

@NetaMeta - Es funktioniert in IE ab Version 7 und in allen anderen großen Browsern wie hier gezeigt: http://www.quirksmode.org/css/contents.html#t13 (Und natürlich würden Sie '. Inhabereingabe [type = "text"] 'für das Textfeld.) – nnnnnn

Verwandte Themen