В демонстрационных целях я сделал ваш код более статичным: я использовал HTML и CSS с flexbox, который может быть легко преобразован для генерации некоторыми JS:
<div class="map">
<h3>Map with Tooltip</h3>
<div class="tooltip">
<div class="arrow"></div>
<div class="title">Title</div>
<div class="desc">Description</div>
<div class="icons">
<a href="#">
<span class="icon icon-eye"></span>
</a>
<a href="#">
<span class="icon icon-trash"></span>
</a>
<a href="#">
<span class="icon icon-zoom"></span>
</a>
</div>
</div>
</div>
Подсказка - это гибкая колонка, расположенная абсолютнов случайной позиции на моей поддельной карте:
.tooltip {
display:flex;
flex-direction:column;
background:#ccc;
width:100px; height:100px;
position:absolute; top:20%; left:56%;
padding:10px;
border-radius:10px;
box-shadow:0 0.25em 1em 0 rgba(0,0,0,0.5);
}
Стрелка внизу всплывающей подсказки:
.arrow {
display:block;
background:transparent;
width:0;
height:0;
position:absolute;
bottom:-25px;
left:50%;
margin-left:-15px;
border-left: 15px solid transparent;
border-right: 15px solid transparent;
border-top:30px solid #ccc;
}
Элемент CENTER
ОЧЕНЬ устарел, и в действительности нет причиниспользуйте его больше, мы утратили новые мощные инструменты позиционирования и компоновки в CSS, поэтому контейнер .icons
представляет собой строку flex box:
.icons {
flex:1 0 0;
display:flex;
flex-direction:row;
justify-content:space-evenly;
align-items:stretch;
align-content:center;
}
Каждая ссылка со значком разделяет это правило CSS:
.icons a {
flex:1 1 20px;
border-radius:0.25em;
background:white;
box-shadow:0 0.125em 0.125em 0 rgba(0,0,0,0.25);
padding:0.25em 0.125em;
margin:1px;
width:1em; height:1em;
text-align:center;
vertical-align:middle;
line-height:1;
}
Вы захотите переопределить стиль ссылки по умолчанию для значков:
a, .icon {
color:black;
text-decoration:none;
}
И я создал несколько случайных значков из сущностей HTML:
.icon-eye:before {
content:"\0260E";
}
.icon-trash:before {
content:"\02605";
}
.icon-zoom:before {
content:"\02665";
}
Эта диаграмма сущностейСУПЕР удобно: https://dev.w3.org/html5/html-author/charref
Я также создал :hover
состояние для значков:
.icons a:hover {
box-shadow:0 1px 0 0 rgba(0,0,0,0.125);
}
Мой JSBin: http://jsbin.com/saxivi/edit?html,css,output