Ich habe eine select
Box und versuche, die Hintergrundfarbe der Optionen zu ändern, wenn auf die select
Box geklickt wurde und alle Optionen angezeigt werden.
HTML:
<select>
<option val="">Please choose</option>
<option val="1">Option 1</option>
<option val="2">Option 2</option>
<option val="3">Option 3</option>
<option val="4">Option 4</option>
</select>
CSS:
select{
margin:40px;
background: rgba(0,0,0,0.3);
color:#fff;
text-shadow:0 1px 0 rgba(0,0,0,0.4);
}
html
css
html-select
background-color
Spielplatz
quelle
quelle
:nth-child(1..n)
stattdessen den CSS- Selektor verwenden.!imporant
. Zum Beispiel:background: red!important;
Ich weiß nicht, ob Sie darüber nachgedacht haben oder nicht, aber wenn Ihre Anwendung auf dem Färben verschiedener Gruppierungen von Elementen basiert, sollten Sie wahrscheinlich das
<optgroup>
Tag in Verbindung mit einer Klasse zur weiteren Referenzierung verwenden. Beispielsweise:und dann schreiben Sie in den Kopf Ihres Dokuments das CSS wie folgt:
quelle
Ja, Sie können dies auf entgegengesetzte Weise einstellen.
Überprüfen Sie dies demo jsFiddle
HTML
CSS
quelle
Ähnlich wie bei einigen der Antworten, aber nicht wirklich angegeben, besteht das Hinzufügen einer Klasse zum eigentlichen Optionstag und die Verwendung von CSS-Klassen ... dies funktioniert derzeit für mich ohne Probleme im IE (siehe oben ss).
CSS:
quelle
Meine Auswahl würde den Hintergrund nicht färben, bis ich! Wichtig zum Stil hinzugefügt habe.
quelle
Wenn Sie das in a wirklich stylen möchten, sollten Sie zu einem Javascript / CSS-basierten Dropdown-Menü wie http://getbootstrap.com/2.3.2/components.html#dropdowns oder https://silviomoreto.github.io/ wechseln. bootstrap-select / examples / . Dies liegt daran, dass Browser wie der IE das Gestalten von Optionen innerhalb von Elementen nicht zulassen . Chrome / OSX hat auch dieses Problem - Sie können keine Optionen formatieren.
Diesem Ansatz ist jedoch eine Warnung beigefügt. Diese Menütypen funktionieren auf mobilen Plattformen sehr unterschiedlich, da native Elemente nicht verwendet werden. Sie können auch auf dem Desktop nervige Macken haben. Mein Rat ist 1) schreibe keine eigenen und 2) finde eine Bibliothek, die wirklich gut getestet wurde.
quelle
Hier geht es, was ich über das Thema gelernt habe!
Die CSS 2-Spezifikation ging nicht auf das Problem ein, wie Formularelemente dem Benutzerzeitraum präsentiert werden sollten!
Lesen Sie hier: Smashing Magazine
Schließlich werden Sie niemals einen technischen Artikel von w3c oder einem anderen zu diesem Thema adressierten Artikel finden. Das Stylen von Formularelementen in bestimmten Auswahlfeldern wird nicht vollständig unterstützt, Sie können jedoch herumfahren ... mit etwas Aufwand!
Styling von HTML-Formularelementen
Erstellen von benutzerdefinierten Widgets
Verschwenden Sie keine Zeit mit Hacks. Lesen Sie die Links und erfahren Sie, wie Profis ihre Arbeit erledigen!
quelle
Ändern Sie einfach die Farbe
select { background: #6ac17a; color:#fff; }
quelle
Eine andere Möglichkeit ist die Verwendung von Javascript:
(Nicht so sauber wie der CSS-Attributselektor, aber leistungsfähiger)
quelle
füge
$htmlIngressCss
deinen HTML-Teil hinzu :)quelle