Hier ist mein HTML:
<select id="ddlProducts" name="ddProducts">
<option>Product1 : Electronics </option>
<option>Product2 : Sports </option>
</select>
Ich möchte den Namen des Produkts (dh 'Produkt1', 'Produkt2' usw.) fett und seine Kategorien (z. B. Elektronik, Sport usw.) kursiv schreiben, wobei nur CSS verwendet wird. Ich habe eine alte Frage gefunden, in der erwähnt wurde, dass HTML und CSS nicht möglich sind, aber hoffentlich gibt es jetzt eine Lösung.
html
css
drop-down-menu
MrClan
quelle
quelle
Antworten:
Es gibt nur wenige Stilattribute, die auf ein
<option>
Element angewendet werden können .Dies liegt daran, dass dieser Elementtyp ein Beispiel für ein "ersetztes Element" ist. Sie sind vom Betriebssystem abhängig und nicht Teil des HTML / Browsers. Es kann nicht über gestylt werden
CSS
.Es gibt Ersatz - Plug-In / Bibliotheken , die aussehen wie ein ,
<select>
sind aber tatsächlich regelmäßig zusammengesetztHTML
Elemente , die CAN - gestylt werden.quelle
select > option
stylen, aber es gibt keine zuverlässige Crossbrowser-Lösung dafür, und zumindest auf Chrom können Sie Schriftgröße, Familie, Hintergrund und Vordergrundfarbe höchstens anpassen. Vielleicht noch ein paar Verbesserungen, aber Dinge wie Polsterung, Schwebefarbe und so weiter konnte ich nicht ändern. In der Tat kann es Alternativen geben, aber je nach Projekt kann das <select> -Tag beispielsweise für die Winkelvalidierung oder aus einem anderen Grund erforderlich sein.<option>
, aber es wird gezeigt, wie Sie emulieren,<select>
damit Sie die Optionen stylen können.OPTION
mit CSS mit modernen Browsern zuNein, dies ist nicht möglich, da das Styling für diese Elemente vom Betriebssystem des Benutzers übernommen wird. MSDN beantwortet Ihre Frage hier :
quelle
style="background-color: red;color: red;"
funktioniert bei mir nicht BEARBEITEN: Nach dem Schließen der Entwicklerkonsole wurde der Stil angewendet.Sie können die Optionselemente bis zu einem gewissen Grad formatieren.
Mit dem * CSS-Tag können Sie die Optionen in dem vom System gezeichneten Feld formatieren.
Beispiel:
Das wird so aussehen:
quelle
Ich habe dieses gute Beispiel für das Stylen der Auswahlen und Optionen gefunden und verwendet. Mit dieser Auswahl können Sie alles tun, was Sie wollen. Hier ist die Geige
html
CSS
JS
quelle
Hier sind einige Möglichkeiten, um
<option>
zusammen mit dem zu stylen<select>
Stylen wenn Sie Bootstrap und / oder jquery verwenden. Ich verstehe, dass dies nicht das ist, was das Originalplakat verlangt, aber ich dachte, ich könnte anderen helfen, die über diese Frage stolpern.Sie können immer noch das Ziel erreichen, jedes
<option>
einzeln zu stylen , müssen jedoch möglicherweise auch einen bestimmten Stil anwenden<select>
. Mein Favorit ist die unten erwähnte "Bootstrap Select" -Bibliothek.Bootstrap Select Library (jquery)
Wenn Sie bereits Bootstrap verwenden, können Sie die Bootstrap Select- Bibliothek ausprobieren oder die folgende Bibliothek (da sie ein Bootstrap-Thema hat).
Beachten Sie, dass Sie das gesamte
select
Element oder dasoption
Elemente separat formatieren können.Beispiele :
Abhängigkeiten : erfordert jQuery v1.9.1 +, Bootstrap , die Dropdown.js-Komponente von Bootstrap und das CSS von Bootstrap
Kompatibilität : Unsicher, aber Bootstrap sagt, dass es "die neuesten, stabilen Versionen aller gängigen Browser und Plattformen unterstützt".
Demo : https://developer.snapappointments.com/bootstrap-select/examples/
Select2 (JS lib)
Es gibt eine Bibliothek namens Select2, die Sie verwenden können .
Abhängigkeiten : Die Bibliothek besteht nur aus JS + CSS + HTML (erfordert keine JQuery).
Kompatibilität : IE 8+, Chrome 8+, Firefox 10+, Safari 3+, Opera 10.6+
Demo : https://select2.org/getting-started/basic-usage
Es gibt auch ein Bootstrap-Thema .
Kein Bootstrap-Beispiel:
Bootstrap-Beispiel:
MDBootstrap ($ & Bootstrap & JQuery)
Wenn Sie zusätzliches Geld haben, können Sie eine Premium-Bibliothek MDBootstrap verwenden . (Dies ist ein komplettes UI-Kit , daher ist es nicht leicht.)
Auf diese Weise können Sie Ihre Auswahl- und Optionselemente mithilfe des Materialdesigns formatieren .
Es gibt eine kostenlose Version, aber Sie können das hübsche Materialdesign nicht verwenden!
Abhängigkeiten : Bootstrap 4 , JQuery,
Kompatibilität : "Unterstützt die neuesten, stabilen Versionen aller gängigen Browser und Plattformen."
Demo : https://mdbootstrap.com/docs/jquery/forms/select/#color
quelle
Scheint, als könnte ich das CSS für das
select
in Chrome direkt einstellen . CSS- und HTML-Code:quelle
Wie bereits erwähnt, besteht die einzige Möglichkeit darin, ein Plugin zu verwenden, das ersetzt
<select>
Funktionalität .Eine Liste der jQuery-Plugins: http://plugins.jquery.com/tag/select/
Schauen Sie sich das Beispiel mit dem
Select2
Plugin an: http://jsfiddle.net/swsLokfj/23/quelle
Mit Bootstrap können Sie das Styling über Dateninhalte verwenden:
Beispiel: https://silviomoreto.github.io/bootstrap-select/examples/
quelle
Einige Eigenschaften können für das
<option>
Tag gestaltet werden:font-family
color
font-*
background-color
Sie können auch benutzerdefinierte Schriftarten für einzelne
<option>
Tags verwenden, z. B. Google-Schriftarten , Materialsymbole oder andere Symbolschriftarten von icomoon oder ähnlichem. (Das kann für Schriftartenauswahl usw. nützlich sein.)In Anbetracht dessen können Sie einen Stapel aus Schriftfamilien erstellen und Symbole in
<option>
Tags einfügen , z.woher
★
kommtIcons
und der Rest kommtRoboto
.Beachten Sie jedoch, dass benutzerdefinierte Schriftarten für die mobile Auswahl nicht funktionieren.
quelle
red
: <option style = "color: red;">Eigentlich können Sie hinzufügen: vor und: nach und diese stylen. Zumindest ist es etwas
quelle
Es ist 2017 und es ist möglich, bestimmte Auswahloptionen anzuvisieren. In meinem Projekt habe ich eine Tabelle mit einer Klasse = "Variationen" , und die Auswahloptionen befinden sich in der Tabellenzelle td = "Wert" , und die Auswahl hat eine ID select # pa_color . Das Optionselement hat auch eine Klassenoption = "angehängt" (unter anderen Klassen-Tags). Wenn ein Benutzer als Großhandelskunde angemeldet ist, kann er alle Farboptionen sehen. Einzelhandelskunden dürfen jedoch keine 2 Farboptionen erwerben, daher habe ich sie deaktiviert
Es hat ein wenig Logik gekostet, aber hier ist, wie ich auf die deaktivierten Auswahloptionen abzielte.
CSS
Damit sind meine Farboptionen nur für Großhandelskunden sichtbar.
quelle
Lassen Sie hier eine schnelle Alternative, indem Sie den Klassenschalter auf einem Tisch verwenden. Das Verhalten ist einem ausgewählten sehr ähnlich, kann jedoch mit Übergängen, Filtern und Farben gestaltet werden, wobei jedes Kind individuell behandelt wird.
quelle
Sie können Inline-Stile verwenden, um benutzerdefinierte Stile hinzuzufügen
<option>
Tags ein .Zum Beispiel:
<option style="font-weight:bold;color:#09C;">Option 1</option>
Dadurch werden die Stile auf diese bestimmte angewendet<option>
Element angewendet.Dann können Sie ein bisschen Javascript-Magie verwenden, um die Inline-Stile auf alle
<option>
Elemente in einem<select>
Tag wie folgt anzuwenden :var select = $(document).getElementById('#select-element-id')
var option = select.children('#option-element-id')
option.css('font-weight', 'bold')
option.css('font-size', '24px')
Sie können auch
<option value="" disabled> <br> </option>
einen Zeilenumbruch zwischen den Optionen hinzufügen.quelle
Dieses Element wird vom Betriebssystem gerendert, nicht von HTML. Es kann nicht über CSS gestaltet werden.
Versuchen Sie dies, es kann Ihnen helfen
quelle
Sie können eine Klasse hinzufügen und die Schriftgröße angeben: 700; in Option. Wenn Sie dies verwenden, wird der gesamte Text fett gedruckt.
quelle
Es wird definitiv funktionieren. Die Auswahloption wird vom Betriebssystem und nicht von HTML gerendert . Deshalb wirkt sich der CSS-Stil im Allgemeinen nicht aus
option{font-size : value ; background-color:colorCode; border-radius:value; }
funktioniert dies, aber wir können das Auffüllen, den Rand usw. nicht anpassen.
Der folgende Code funktioniert zu 100%, um das aus diesem Beispiel entnommene Auswahl-Tag anzupassen
quelle
Auch wenn nicht viele Eigenschaften geändert werden müssen, können Sie den folgenden Stil nur mit CSS erreichen:
HTML:
CSS:
quelle