2016-08-03 3 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. Там шрифты не одинаковые с шрифтом. Вы можете изменить 'color' через css – NooBskie

+1

С помощью CSS вы не можете выбрать предыдущий элемент. Вы должны использовать JS. – Vucko

ответ

5

Вы можете использовать + селектор, который применить CSS на следующей собрата, но для этого вам нужно поставить input первый и затем glyphicon в HTML ,

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

Смежные вопросы