Ребят, не могу разобраться, помогите пожалуйста.
Была задача: сделать поиск, эффекты при наведении, эффекты при фокусе (активном инпуте).
Проблема возникла тогда, когда при фокусе работал эффект ховера и перекрывал эффекты фокуса.
Вот такой код у меня вышел:
Спустя пару часов мучения и непониманий происходящего, я нашел макет в интернете и скопировал код. Но я до сих пор не могу понять, почему он работает… Объясните пожалуйста, как он работает. Почему здесь эффект ховера не перекрывает фокус? Запятые и плюсы. Пожалуйста…
Дело в том, что я не понимаю список тех правил.
// При наведение на блок в котором находится кнопка и инпут, кнопка меняет цвет фона и меняется цвет элементов.
.search-wrapper:hover .search-wrapper__button{
background-color: #212a3a;
color: #ffffff;
}
// При активации (нажатие) на инпут
// Что значит знак плюс?
.search-wrapper__input:focus,
.search-wrapper__input:focus + .search-wrapper__button {
background-color: red;
}
// Снова активация инпута
.search-wrapper__input:focus {
color: #000000;
}
// Что значит плюс?
.search-wrapper__input:focus + .search-wrapper__button {
color: #ee3643;
}
Знак + означает соседний элемент (следующий в коде). То есть .search-wrapper__input:focus + .search-wrapper__button { ... } расшифровывается как “стили для кнопки, которая находится после поля в фокусе”.