Was versuchst du zu erreichen? Jede der Optionen, die mit 5px aufgefüllt werden sollen? Oder nur die Hauptbox?
DeeKayy90
ja ... ich brauche Polsterung für Optionswert
Piyush Marvaniya
1
Auch wenn es sich nicht ausschließlich um Polsterung handelt, können Sie für die Polsterung der linken Polsterung & nbsp; während dies behoben wird: jsfiddle.net/chech/u5rcheqf/1
Scheint in der aktuellen Chrome 39.0.2171.71 (64-Bit) und Safari (ich habe dies nur auf einem Mac getestet) zu funktionieren.
Dies scheint das Standard-Styling zu entfernen, das der Auswahleingabe hinzugefügt wurde (es hat auch den Dropdown-Pfeil entfernt), aber Sie können dann Ihr eigenes Styling verwenden, ohne dass Chrom es überschreibt.
Eine andere Lösung, die in allen Browsern funktioniert , ist das Hinzufügen zur ersten Option in der Auswahlliste. Überprüfen Sie dies und das . Hope hilft.
Shaijut
2
@stom Das könnte für die linke und rechte Polsterung funktionieren, aber ich denke nicht, dass es für die obere und untere Polsterung funktionieren würde.
Rmmoul
Das funktioniert zumindest in meiner Maschine nicht mehr! :)
Nuno Cruz
1
Sie können auch ein Plugin wie select2 oder selected verwenden , das Ihre <select><option/></select>Elemente in vollständig anpassbare <ul><li/></ul>Elemente konvertiert . Auf diese Weise können Sie alle Dropdowns so gestalten, dass sie mit Ihren anderen Eingabefeldern oder der allgemeinen Benutzeroberfläche übereinstimmen.
Tad Wohlrapp
3
Die Pfeile gehen damit verloren :(
Raul H
41
Dieser einfache Hack wird den Text einrücken. Funktioniert gut.
Dadurch wird die Auffüllung der Auswahl selbst hinzugefügt, nicht jedoch den Optionen. Und das Anwenden eines Texteinzugs auf eine Option funktioniert auch in Chrome 64 nicht.
chris.ribal
Chrome 71 nennt dies eine "unbekannte Eigenschaft".
Mark
7
Es scheint, dass
Leider unterstützen Webkit-Browser das Styling von Options-Tags noch nicht.
Möglicherweise finden Sie hier eine ähnliche Frage
Danke für die Antwort. Es ist für mich erstaunlich, dass es nach so vielen Jahren, seit es Websites, HTML und CSS gibt, immer noch nicht in der Lage ist, Dinge wie das Auffüllen ausgewählter Optionen zu gestalten. Styling- und Positionierungselemente können so frustrierend sein, aber in der Android-Entwicklung ist es viel einfacher. Ich verstehe nicht, warum die Webumgebung mit HTML und CSS im Vergleich zu Desktop- und nativen mobilen Umgebungen so "unvollendet" erscheint, ein "Work-in-Progress".
Bryan
2
Vielleicht wäre das Web in naher Zukunft schöner und die Entwickler werden Hilfe von Shadow Dom erhalten - robdodson.me/shadow-dom-styles :) Hoffentlich erhalten Entwickler die Kontrolle über die innere Ebene der Formularelemente. RIP IE allerdings.
Pravin Waychal
2
@Bryan Web ist eine alte Technologie, und als solche hat es einige alte Ideen, die nicht verbessert wurden. Aufgrund der Browserunterstützung haben neue Funktionen immer nur langsam jemanden erreicht, und aufgrund mangelnder Intelligenz (es gibt bereits Problemumgehungen, die von Benutzern durchgeführt werden, und der Endbenutzer bemerkt nicht, dass diese Browser fehlen) ändert sich nichts.
Dies ist bei weitem die beste Lösung, die ich bisher gesehen habe. Aber es hat nur bei mir funktioniert, wenn es height: calc(1.2em + 24px);nicht istmax-height: calc(1.2em + 24px);
Julius
Julius Ich bin überprüft, ob alle gängigen Browser mit maximaler Höhe gut funktionieren. Die Verwendung des Höhenattributs ist jedoch auch eine gute Gelegenheit.
Ali Sufyan
3
Sehr, sehr einfache Idee, aber Sie können sie entsprechend ändern. Dies ist nicht so eingerichtet, dass es gut aussieht, sondern nur, um die Idee zu liefern. Ich hoffe es hilft.
CSS:
ul {
width:50px;
height:20px;
border:1px solid black;
display: block;}
li {
padding:5px0px;
width:50px;
display: none;}
@PiyushMarvaniya Ich verstehe, aber wie ich mich erinnere, ist es nicht möglich, einzelne Elemente mit der Auswahloption zu ändern. Deshalb habe ich eine Alternative angeboten.
DeeKayy90
1
Dieses Beispiel bietet keine Tastaturnavigation (Pfeile oder Mac-Verknüpfungen) und keine Tools für die Barrierefreiheit im Internet.
Piotr Łużecki
Auch hier ging es nicht darum, ein benutzerdefiniertes Dropdown-Menü zu erstellen, sondern das Auffüllen hinzuzufügen. Ich habe dem OP eine einfache Basis gegeben, auf der es entsprechend seinen Anforderungen aufbauen kann. Ich werde jedoch kein benutzerdefiniertes Steuerelement für sie erstellen. =)
DeeKayy90
1
Wenn Sie mit einem UL / LI-Dropdown-Menü arbeiten, würde ich empfehlen, nur das Dropdown-Widget von Bootstrap zu verwenden. Version 2 und 3 unterstützen role = "menu" und role = "navigation", um die Pfeiltasten zu aktivieren. Es ist sinnvoll, etwas zu verwenden, das IMO gut überprüft wurde.
mbokil
@mbokil +1, definitiv eine gute Option, anstatt das Rad neu zu erfinden, benutze, was da ist.
DeeKayy90
2
Das funktioniert bei der optionEingabe nicht, da es sich um ein vom System generiertes Dropdown-Menü handelt, aber Sie können die paddingAuswahl auswählen.
Setzen Sie die box-sizingEigenschaft einfach content-boxin Ihrem CSS auf zurück.
Sie können die Polsterung einer Auswahl einstellen - funktioniert perfekt in Chrome 75
danday74
1
Ich habe einen kleinen Trick für dein Problem. Dafür müssen Sie jedoch Javascript verwenden. Wenn Sie festgestellt haben, dass der Browser Chrome ist, fügen Sie zwischen allen Optionen " Dummy " -Optionen ein. Geben Sie eine neue Klasse für diese " Dummy " -Optionen an und deaktivieren Sie sie. Die Höhe der " Dummy " -Optionen, die Sie mit der Eigenschaft " Schriftgröße " definieren können .
Dies scheint in Chrome zu funktionieren, aber nicht in Firefox (neueste Version). Firefox zielt immer noch nur auf den Stil der nicht ausgewählten Box vor dem Dropdown.
-8
Stellen Sie einfach die Höhe des ausgewählten Tags ein
Antworten:
Ich habe gerade einen Weg gefunden, die Polsterung auf den Auswahleingang anzuwenden
Scheint in der aktuellen Chrome 39.0.2171.71 (64-Bit) und Safari (ich habe dies nur auf einem Mac getestet) zu funktionieren.
Dies scheint das Standard-Styling zu entfernen, das der Auswahleingabe hinzugefügt wurde (es hat auch den Dropdown-Pfeil entfernt), aber Sie können dann Ihr eigenes Styling verwenden, ohne dass Chrom es überschreibt.
Ich bin auf dieses Update gestoßen, als ich Code von hier verwendet habe: http://fettblog.eu/style-select-elements/
quelle
zur ersten Option in der Auswahlliste. Überprüfen Sie dies und das . Hope hilft.<select><option/></select>
Elemente in vollständig anpassbare<ul><li/></ul>
Elemente konvertiert . Auf diese Weise können Sie alle Dropdowns so gestalten, dass sie mit Ihren anderen Eingabefeldern oder der allgemeinen Benutzeroberfläche übereinstimmen.Dieser einfache Hack wird den Text einrücken. Funktioniert gut.
quelle
Es scheint, dass
Leider unterstützen Webkit-Browser das Styling von Options-Tags noch nicht.
Möglicherweise finden Sie hier eine ähnliche Frage
Die am weitesten verbreitete browserübergreifende Lösung ist die Verwendung von ul li
Ich hoffe es hilft!
quelle
Ich habe es damit behoben
quelle
height: calc(1.2em + 24px);
nicht istmax-height: calc(1.2em + 24px);
Sehr, sehr einfache Idee, aber Sie können sie entsprechend ändern. Dies ist nicht so eingerichtet, dass es gut aussieht, sondern nur, um die Idee zu liefern. Ich hoffe es hilft.
CSS:
HTML:
Skript:
DEMO
quelle
Das funktioniert bei der
option
Eingabe nicht, da es sich um ein vom System generiertes Dropdown-Menü handelt, aber Sie können diepadding
Auswahl auswählen.Setzen Sie die
box-sizing
Eigenschaft einfachcontent-box
in Ihrem CSS auf zurück.Der Standardwert von
select
istborder-box
.quelle
Ich habe einen kleinen Trick für dein Problem. Dafür müssen Sie jedoch Javascript verwenden. Wenn Sie festgestellt haben, dass der Browser Chrome ist, fügen Sie zwischen allen Optionen " Dummy " -Optionen ein. Geben Sie eine neue Klasse für diese " Dummy " -Optionen an und deaktivieren Sie sie. Die Höhe der " Dummy " -Optionen, die Sie mit der Eigenschaft " Schriftgröße " definieren können .
CSS:
Skript:
quelle
Keine JQuery - Keine JS-Datei eines Drittanbieters
Smart Code - Verwenden Sie jquery
quelle
Bei
font-size
Bedarf können Sie die Eigenschaft als Option verwenden.quelle
Stellen Sie einfach die Höhe des ausgewählten Tags ein
quelle
Sie sollten auf die Auswahl für Ihr CSS anstatt auf die Auswahloption abzielen.
Diesen Artikel anzeigen Styling Select Box mit CSS3 für weitere Styling-Optionen.
quelle