Ваш родительский div действует как относительный контейнер для абсолютно позиционированного дочернего div, который содержит всплывающую подсказку. Таким образом, он отображается над значком, как и ожидалось. Включите текст, содержащий всплывающую подсказку, в контейнер, и он будет отображаться должным образом. После изменения верхнего / левого значений на допустимое значение 0. За исключением случаев, когда вы это делаете, теперь каждое наведение отменяется панелью всплывающих подсказок, отображаемой над значком, что дает вам неприятный эффект вспыхивающей всплывающей подсказки. Таким образом, вам нужно разделить их, чтобы, пока пользователь наводил указатель мыши на значок, отображалась всплывающая подсказка, и наоборот. Вот для начала. Ура!
.tooltips {
position: relative;
display: inline;
}
.tooltips .tooltiptext {
display: inline-flex;
align-items: center;
padding: 0 .25rem;
visibility: hidden;
background-color: #FFFFFF;
color: #7A7A7A;
border-radius: 3px;
font-size: 13px;
box-shadow: 0px 0px 10px -2px rgba(0,0,0,0.5);
position: absolute;
top: -3px;
left: -3px;
bottom: -3px;
right: 15px;
background-color: #f1f1f1;
}
.tooltipicon { display:inline; cursor: help }
.tooltipicon:hover { background-color: red; }
.tooltipicon:hover + .tooltiptext {
visibility: visible;
}
<div class="tooltips">
Geeignete Anzahl monatl. Besuche <div class="tooltipicon">♠</div>
<div class="tooltiptext">Tooltip text</div>
</div>