# Mehrfach attributbedingte Formate definieren



## Parantatatam (12. Juni 2009)

Hallo,

ich habe gerade mal eine ganz spannende Frage. Man kann ja in CSS Formate definieren welche attributbedingt ist. Das ist ja relativ einfach.
input[type="button"]
Nur was ich mich jetzt gefragt habe ist bzw. vor welchem Problem ich aktuell stehe ist, dass ein Element bei mir zwei verschiedene Eigenschaften erfüllen muss und es dann erst so formatiert wird. Mein Problem ist speziell jetzt das, dass ich zwei input-Elemente habe - eins davon ist normal das andere gesperrt (disabled="disabled"). Jetzt möchte ich bei dem Normalen hover-Effekte hinzufügen. Das soll ja aber bei dem gesperrten angezeigt werden. Ich habe es bereits so versucht, aber ich bin mir nicht sicher ob ich falsch an die Sache rangegangen bin oder ob das in CSS nicht möglich ist. Danke schon im Voraus!

Das habe ich bereits probiert:
input[type="button",disabled!="disabled"]
input[type="button";disabled!="disabled"]
input[type="button"][disabled!="disabled"]


----------



## Maik (12. Juni 2009)

Hi,

soll die Regel nun für beide Buttons gelten?

```
input[type="button"]:hover { }
```

Oder sollen beide unterschiedliche Formatierungen erhalten?

```
input[type="button"]:hover { }
input[disabled="disabled"]:hover { }
```

mfg Maik


----------



## Parantatatam (12. Juni 2009)

Nein, das habe ich mir auch schon überlegt, nur habe ich neben den input-Elementen vom Typ button und submit auch noch welche vom Typ text und password. Das funktioniert also nicht so einfach


----------



## Maik (12. Juni 2009)

Verstehe nicht, worauf du hinaus willst, bzw. wo es ein Problem gibt, für die einzelnen <input>-Typen die gewünschte Formatierung zu definieren.

Falls da mehrere "disabled"-Elementtypen im HTML-Dokumentbaum existieren, und zwischen ihnen unterschieden werden soll, müssen die Elemente jeweils mit einem eindeutigen Bezeichner benannt, und der Attributselektor mit dem ID-Bezeichner spezifiziert werden:

```
<input type="button" id="button1" disabled="disabled" />
```


```
input#button1[disabled="disabled"]:hover { }
```

mfg Maik


----------



## Parantatatam (12. Juni 2009)

Mh, dass mag schon sein, aber ich wollte eben eine Lösung ohne IDs und Klassen finden.


----------



## Maik (12. Juni 2009)

Die gibt es meines Wissens nicht, um im Dokumentbaum zwischen mehreren Elementen mit dem Attribut disabled="disabled" unterscheiden, respektive sie dort gezielt ansprechen zu können.

mfg Maik


----------



## Parantatatam (12. Juni 2009)

Na dann werde ich das wohl über Klassen lösen müssen. Mag ich zwar nicht, aber man will sich ja an den Standards richten.


----------



## Maik (12. Juni 2009)

Was spricht denn gegen einen Klassen- oder ID-Bezeichner?

mfg Maik


----------



## kuddeldaddeldu (12. Juni 2009)

Hi,



einfach nur crack hat gesagt.:


> input[type="button"][disabled!="disabled"]



das wäre der korrekten Syntax wohl am nächsten gekommen, nur gibt es in dem Kontext scheinbar keinen "!="-Operator.

LG


----------



## Maik (12. Juni 2009)

kuddeldaddeldu hat gesagt.:


> das wäre der korrekten Syntax wohl am nächsten gekommen, nur gibt es in dem Kontext scheinbar keinen "!="-Operator.


Und wieder was dazugelernt 

Danke, Kuddel - gibt lecker grüne Bonsche dafür - 

lg Maik


----------



## kuddeldaddeldu (12. Juni 2009)

Maik hat gesagt.:


> Und wieder was dazugelernt



Das geht mir ganz genauso. ^^




Maik hat gesagt.:


> Danke, Kuddel - gibt lecker grüne Bonsche dafür -



Gerne. Und danke.


----------



## Maik (12. Juni 2009)

Wenn die einzelnen <input>-Typen (text,password,radio,checkbox,button,submit) nicht mehrmals im Dokumentbaum existieren, bzw. zwischen ihnen keine Fallunterscheidung in der Formatierung vorgenommen werden soll, wären in der Tat hier keine  Klassen- oder ID-Bezeichner von nöten.

Achja, noch eine Info nach meinen Testläufen: Neben den standardkonformen Browsern weiß lediglich der IE8 mit diesem kombinierten Attribut-Selektor etwas anzufangen. Der IE7 unterstützt zwar das type-Attribut, nicht aber das disabled-Attribut (auch nicht solo). Von seinen Vorgängern wollen wir erst gar nicht reden.

mfg Maik


----------

