В этом случае вы используете селектор +
, который выберет соседний брат . Если вы измените его на селектор ~
, он выберет любого следующего брата, а не только следующего (смежного). Тем не менее, это может не сработать для вас. Это зависит от того, как структурирован ваш код HTML и насколько он сложен.
Рекомендуется проверить, как работают CSS селекторы .
Я думаю, что лучшим решением для вас было бы изменить контейнер каждой подсказки. Контейнер по умолчанию - body
, поэтому он обновляется там. Просто добавьте атрибут data-container
к каждому элементу значка:
<i
class="far fa-check-circle alert-success"
data-toggle="tooltip"
data-original-title="Text"
data-container=".alert-success">
</i>
<i
class="far fa-check-circle alert-danger"
data-toggle="tooltip"
data-original-title="Text"
data-container=".alert-danger">
</i>
Таким образом, подсказки будут отображаться внутри каждого элемента значка вместо тела.
Итак, вам просто нужно настроить CSS в соответствии с вашими потребностями.
Теперь легче выбрать всплывающую подсказку.
.danger-tooltip .tooltip .tooltip-inner {
background-color: red;
}
.success-tooltip .tooltip .tooltip-inner {
background-color: green;
}
.danger-tooltip .tooltip .arrow::before{
border-top-color: red;
}
.success-tooltip .tooltip .arrow::before{
border-top-color: green;
}
Если вам нужна конкретность, вы можете дать новое имя класса для каждого элемента значка и использовать его как контейнер для всплывающей подсказки.