2016-08-03 32 views
1

フォーカスを合わせると入力フォームの横に検索アイコンが表示されますが、右のセレクタを見つけることができません。フォーム自体にフォーカスイベントを手動で追加すると、これは機能しますが、入力には反映されません。何が起きてる?入力フォーカスのスタイルアイコン

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

グリフィコンは小さな画像ですので、簡単に色を変更することはできません。 "font awesom"を使用するか、グリフコンにフィルターを追加します。 –

+0

@TobiasK。そこには、フォントと同じイメージではなく素晴らしいフォントがあります。 CSSを使って 'color'を変更することができます – NooBskie

+1

CSSでは、前の要素を選択することはできません。 JSを使用する必要があります。 – Vucko

答えて

5

あなたは次の兄弟にCSSを適用するが、そのためにあなたがinput最初とhtmlで、その後glyphiconを配置する必要があり+セレクタを使用することができます。

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

これで、同じスタイルを維持するためにグリフコンに 'float:left'を追加しました。ありがとう – NooBskie

関連する問題