Расширяемый выбор языка с помощью HTML / CSS - PullRequest
1 голос
/ 12 июля 2020

Я пытаюсь создать расширяемый элемент выбора языка с помощью HTML и CSS. Вот как это выглядит изначально:

enter image description here

And here is what I want it to look like when you hover over:

image

.wrapper {
  margin: 20px;
  background-color: lightgray;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  width: 33px;
}

.icon {
  padding: 5px 10px;
  display: none;
}

.icon.active-icon {
  display: inline-block;
}

.icon:hover {
  cursor: pointer;
  display: inline-block;
}
<div class="wrapper">
  <img class="icon active-icon" src="./ua.svg" alt="" />
  <img class="icon" src="./ru.svg" alt="" />
  <img class="icon" src="./en.svg" alt="" />
</div>

По какой-то причине свойство display не изменяется на hover, и элементы, которые изначально отображаются как none, не отображаются.

1 Ответ

1 голос
/ 12 июля 2020

Когда вы наводите курсор на значок, это не влияет на все элементы класса .icon, а влияет только на наведенный. Вы можете установить :hover в своем классе .wrapper и установить inline-block для .icon при зависании оболочки.

.wrapper {
  margin: 20px;
  background-color: lightgray;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  width: 33px;
}

.icon {
  padding: 5px 10px;
  display: none;
}

.icon.active-icon {
  display: inline-block;
}

.wrapper:hover .icon {
  cursor: pointer;
  display: inline-block;
}
<div class="wrapper">
  <img class="icon active-icon" src="https://via.placeholder.com/20/FF0000/000000?text=1" alt="" />
  <img class="icon" src="https://via.placeholder.com/20/00FF00/000000?text=2" alt="" />
  <img class="icon" src="https://via.placeholder.com/20/0000FF/0000000?text=3" alt="" />
</div>

Для более глубоких знаний об этом: Как повлиять на другие элементы, когда один элемент зависает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...