2016-08-03 10 views
1

Ich möchte mein Suchsymbol neben meinem Eingabeformular haben, ändere die Farben, wenn ich mich konzentriere, aber ich kann nicht den richtigen Selektor finden. Wenn ich manuell ein Fokusereignis auf dem Formular selbst hinzufüge, wird dies funktionieren, aber nicht auf der Eingabe. Was ist denn hier los?Style-Icon auf Eingabefokus

HTML

<form action="/search" class="form-inline" method="get"> 
    <div class="glyphicon glyphicon-search"></div> 
    <input autocomplete="off" class="form-control" data-turboform="" name="search" placeholder="Search for your products!" value="" type="text"> 
    <div class="checkbox"> 
    <label> 
     <input type="checkbox"> 
     Translate my search 
     <span class="bold">?</span> 
    </label> 
    </div> 
</form> 

CSS

input[type="text"]:focus .glyphicon-search{ 
    color: $bp-orange 
} 
+0

Glyphicons sind kleine Bilder, Sie können ihre Farbe nicht auf einfache Weise ändern. Entweder verwenden Sie "font awesom" oder Sie fügen Filter zu Ihrem Glyphon hinzu. –

+0

@TobiasK. Es Schriftarten nicht gleich mit font-awesome. Sie können 'Farbe' über CSS ändern – NooBskie

+1

Mit CSS können Sie das vorherige Element nicht auswählen. Sie müssen JS verwenden. – Vucko

Antwort

5

Sie + Wähler, die CSS auf der nächsten Geschwister anwenden können, aber dafür brauchen Sie input zuerst und dann die glyphicon in html setzen .

input[type="text"]:focus + .glyphicon-search{ 
    color: $bp-orange 
} 

<form action="/search" class="form-inline" method="get"> 
    <input autocomplete="off" class="form-control" data-turboform="" name="search" placeholder="Search for your products!" value="" type="text"> 
    <div class="glyphicon glyphicon-search"></div> 
    <div class="checkbox"> 
    <label> 
     <input type="checkbox"> 
     Translate my search 
     <span class="bold">?</span> 
    </label> 
    </div> 
</form> 
+0

Dies funktionierte ich gerade am Ende hinzugefügt 'float: left' zum Glyphon, um das gleiche Styling zu halten. Vielen Dank – NooBskie

Verwandte Themen