Wie füge ich Schlagschatten zum Select-Element in HTML hinzu?

8

Ich habe eine einfache Dropdown-Liste und möchte einen Schlagschatten hinzufügen. Es ist schwer, Arbeitscode zu finden. Was schlägst du vor?

%Vor%     
JohnMax 11.10.2010, 11:16
quelle

7 Antworten

3

Nun, hier ist etwas, was ich ziemlich schnell zusammengeworfen habe. Es basiert auf Modernizr für die Feature-Erkennung und schließt jedes select mit einem div ein, für das ein box-shadow festgelegt ist.

%Vor%

Dieser Code versucht, die äußere div um 2 px zu verkleinern, um das Auffüllen des Browsers zu kompensieren. Und das CSS:

%Vor%

Nicht besonders effektiv, aber immer noch besser als nichts. Das Hauptproblem hier wäre, dass die Standardformularstile des Betriebssystems unterschiedlich sein könnten. Ich habe dafür ein ziemlich großes border-radius eingestellt, aber ich glaube, dass OSX select s runder sind als das, obwohl ich nichts zur Hand habe, um es zu testen.

Siehe: Ссылка für die Live-Version.

    
Yi Jiang 11.10.2010 11:47
quelle
2

Die einfachste Lösung ist CSS3 :

%Vor%

was offsetX, offsetY, blur, color

ist

Dies funktioniert natürlich nur in einem Browser, der CSS3 boxshadows unterstützt. Sie können entweder selbst nach dem Support suchen oder ein Skript wie Modernizr

Ich war mir nicht bewusst, dass box-shadow nicht mit select elements funktioniert. Ich habe eine ziemlich einfache Lösung gefunden:

Ссылка

Die Idee besteht darin, DIV elements mit einer css3 box-shadow-Eigenschaft und einem z-index von -1 dynamisch zu erstellen. Funktioniert ziemlich gut für mich, Sie müssen nur die css-Eigenschaften für alle Browser übernehmen.

    
jAndy 11.10.2010 11:20
quelle
1

Sie können auch einen Schlagschatten im Eingabefeld mit reinem CSS erstellen. Um dies zu tun, müssen Sie zuerst den Rahmen deklarieren und dann können Sie die Box-Shadow-Eigenschaft verwenden, um Ihr Dropdown zu erstellen. Ich habe es kürzlich in einem meiner Projekte gemacht, also weiß ich, dass es für moderne Browser funktioniert.

Hier ist ein Beispielcode:

%Vor%     
dash 14.07.2012 21:18
quelle
1

Verwenden Sie CSS, um das Menü zu erstellen, das das select-Tag verwendet, um ein Dropdown-Menü zu erstellen. Ich habe es heute Abend ironisch versucht, bevor ich das gelesen habe. Sie könnten so etwas wie unten im CSS innerhalb Ihrer HTML-Seite versuchen (nicht innerhalb Ihrer externen CSS-Datei, es sei denn, Sie verlinken zuerst Ihre externe CSS-Datei in Ihre HTML-Seite, wo Ihr Menü diesen Box-Schatten-Effekt haben soll) .

%Vor%

Vergessen Sie aber nicht, die Eigenschaft box-shadow hinzuzufügen. Vielleicht ist es deshalb nicht gelungen, einen Box-Shadow-Effekt für das Menü zu erstellen, das es erstellt, sondern nur daran gearbeitet hat, den Effekt für den Dropdown-Teil des Menüs selbst zu erzeugen, nachdem das Menü angeklickt wurde? Oder wenn Ihr CSS in Ihrer externen CSS-Datei enthalten war, stellen Sie sicher, dass Sie Ihre externe CSS-Datei mit Ihrer HTML-Seite verbunden haben, unabhängig davon, auf welcher HTML-Seite Ihr Menü den Box-Schatten-Effekt haben soll. :) Dies funktioniert und ist viel weniger Codierung als die meisten tun könnten. :)

    
April 20.03.2015 08:04
quelle
1

Sie können nach Schatten außerhalb suchen:

%Vor%

oder wenn Sie es innerhalb des Elements (für eine Schaltfläche) möchten:

%Vor%     
Ankit Suryawanshi 20.03.2015 08:51
quelle
0

Ich habe es so gemacht:

%Vor%

Ändern Sie einfach die Breite in #dropDownApple, um sie an Ihre Formularbreite anzupassen, und Sie können sich mit anderen CSS-Elementen anlegen, um die gewünschte Höhe zu erhalten. Kopiere und füge das obige zwischen <body></body> -Tags ein, um es in Aktion zu sehen. Arbeitete in IE9, Chorme, Safari und Firefox.

    
phpKid 10.03.2012 16:07
quelle
0

@phpKid

Da ich noch nicht genug Punkte hatte, um einen Kommentar hinzufügen zu können, werde ich Ihnen hier auf diese Weise schreiben: ...

Sie haben den Code erwähnt, den Sie gemacht haben. Warum alles dann, wenn eine einfache Methode von etwas wie dem folgenden CSS-Code funktionieren könnte? Es könnte diese Person davon abhalten, viel weniger Code zu verwenden. ;)

%Vor%     
April 20.03.2015 08:21
quelle

Tags und Links