Sie können stattdessen ein anderes Tag verwenden input
und FontAwesome auf normale Weise anwenden.
Anstelle Ihres input
with-Typs können image
Sie Folgendes verwenden:
<i class="icon-search icon-2x"></i>
schnelles CSS :
.icon-search {
color:white;
background-color:black;
}
Hier ist eine kurze Geige:
DEMO
Sie können es etwas besser gestalten und dem i-Objekt Ereignisfunktionalität hinzufügen, indem Sie ein <button type="submit">
Objekt anstelle von i
oder mit Javascript verwenden.
Der Button sollution wäre ungefähr so:
<button type="submit" class="icon-search icon-large"></button>
Und das CSS :
.icon-search {
height:32px;
width:32px;
border: none;
cursor: pointer;
color:white;
background-color:black;
position:relative;
}
Hier ist meine Geige mit dem Button anstelle von i: DEMO aktualisiert
Update: Verwenden von FontAwesome für ein beliebiges Tag
Das Problem mit FontAwsome ist, dass das Stylesheet Pseudoelemente verwendet :before
, um die Symbole zu einem Element hinzuzufügen - und Pseudoelemente funktionieren nicht / sind für input
Elemente nicht zulässig . Aus diesem Grund funktioniert die normale Verwendung von FontAwesome nicht input
.
Es gibt jedoch eine Lösung : Sie können FontAwesome wie folgt als normale Schriftart verwenden:
CSS:
input[type="submit"] {
font-family: FontAwesome;
}
HTML:
<input type="submit" class="search" value="" />
Die Glyphen können als Werte des value
Attributs übergeben werden. Der ASCII - Codes für die einzelnen Buchstaben / Symbole können in der FontAwesome CSS - Datei gefunden werden, müssen Sie sie nur in eine HTML - ascii - Nummer ändern , wie \f002
zu 
und es sollte funktionieren.
Link zum FontAwesome ASCII- Code ( Cheatsheet ): fortawesome.github.io/Font-Awesome/cheatsheet
Die Größe der Symbole kann einfach über angepasst werden font-size
.
Siehe das obige Beispiel mit einem input
Element in einer jsfidde:
Update: FontAwesome 5
Mit FontAwesome Version 5 hat sich das für diese Lösung erforderliche CSS geändert - der Name der Schriftfamilie wurde geändert und die Schriftstärke muss angegeben werden:
input[type="submit"] {
font-family: "Font Awesome 5 Free"; // for the open access version
font-size: 1.3333333333333333em;
font-weight: 900;
}
Siehe @ WillFasties Kommentar mit Link zum aktualisierten Geigenbalg. Vielen Dank!
:before
und daher nicht mitinput
oderimg
Tags funktioniert ... aber es gibt eine einfache Lösung - nämlich die Verwendung von FontAwesome als reguläre Schriftart ... siehe meine aktualisierte Lösung über. Ich hoffe ich verdiene die Abstimmung zurück ;-)Hier ist eine Lösung, die mit einfachem CSS und einer großartigen Syntax für Standardschriften funktioniert, ohne dass Unicode-Werte usw. erforderlich sind.
Erstellen Sie ein
<input>
Tag, gefolgt von einem Standard-<i>
Tag mit dem gewünschten Symbol.Verwenden Sie die relative Positionierung zusammen mit einer höheren Ebenenreihenfolge (Z-Index) und verschieben Sie das Symbol über und über das Eingabefeld.
(Optional) Sie können das Symbol aktivieren, um die Daten möglicherweise über Standard-JS zu senden.
In den drei folgenden Codefragmenten finden Sie Informationen zu HTML / CSS / JS.
Oder dasselbe in JSFiddle hier: Beispiel: http://jsfiddle.net/ethanpil/ws1g27y3/
quelle
Für diejenigen, die sich fragen, wie FontAwesome-Symbole für Drupal-Eingaben verwendet werden können, müssen Sie zuerst die folgenden Entschlüsselungen vornehmen:
quelle
Ändern Sie Ihre Eingabe in ein Schaltflächenelement, und Sie können die Font Awesome-Klassen darauf verwenden. Die Ausrichtung des Glyphen ist in der Demo nicht besonders gut, aber Sie haben die Idee:
http://tinker.io/802b6/1
Der Vorteil hierbei ist, dass das Formular weiterhin voll funktionsfähig ist, ohne dass Ereignishandler für Elemente hinzugefügt werden müssen, die keine Schaltflächen sind, aber wie eine aussehen.
quelle
Ähnlich wie bei der oberen Antwort habe ich das Unicode-Zeichen im Abschnitt value = des HTML-Codes verwendet und FontAwesome als Schriftfamilie für dieses Eingabeelement aufgerufen. Das einzige, was ich hinzufügen möchte, dass die oberste Antwort nicht abdeckt, ist, dass mein Wertelement auch Text nach dem Symbol enthält. Wenn Sie die Schriftfamilie in FontAwesome ändern, sieht der normale Text schlecht aus. Die Lösung bestand einfach darin, das CSS so zu ändern, dass es Fallback-Schriftarten enthält:
Auf diese Weise greift FontAwesome auf das Symbol zu, aber auf alle Nicht-Symboltexte wird die gewünschte Schriftart angewendet.
quelle
quelle
einfache Möglichkeit für neue Schrift fantastisch
quelle
Um dies mit Unicode oder Fontawesome zu tun, sollten Sie einen Bereich mit der folgenden Klasse hinzufügen, da das Eingabe-Tag keine Pseudoklassen wie: after unterstützt. Dies ist keine direkte Lösung
in html:
in css:
quelle