无法使用多个工具提示消息正确对齐工具提示

时间:2016-09-20 12:30:47

标签: html css twitter-bootstrap twitter-bootstrap-3 tooltip

.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    position: absolute;
    z-index: 1;
    top: -15px;
    left: 110%;
}

.tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 100%;
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent black transparent transparent;
}
.tooltip:hover .tooltiptext {
    visibility: visible;
}
<h2>Right Tooltip w/ Left Arrow</h2>

<div class="tooltip">Hover over me
  <ul class="tooltiptext">
   <li>Tooltip text 1</li>
   <li>Tooltip text 2</li>
   <li>Tooltip text 3</li>
  </ul>
</div>

与一个Tooltip消息完美配合,但不能与多个消息配合使用。 无论是否有工具提示消息,它都应始终垂直居中。 如果有人不理解这种情况,请随意提问。

1 个答案:

答案 0 :(得分:1)

而不是使用边距值来调整/放置toopltip。

使用top:50%transform垂直居中,将其拖回自身高度的50%。

&#13;
&#13;
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.tooltip {
  position: relative;
  display: inline-block;
  border-bottom: 1px dotted black;
  margin-top: 50px;
}
.tooltip .tooltiptext {
  visibility: hidden;
  width: 120px;
  background-color: black;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
  left: 120%;
}
.tooltip .tooltiptext::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 100%;
  border-width: 5px;
  border-style: solid;
  border-color: transparent black transparent transparent;
}
.tooltip:hover .tooltiptext {
  visibility: visible;
}
&#13;
<div class="tooltip">Hover over me
  <ul class="tooltiptext">
    <li>Tooltip text 1</li>
    <li>Tooltip text 2</li>
    <li>Tooltip text 3</li>
  </ul>
</div>
<br/>
<div class="tooltip">Hover over me
  <ul class="tooltiptext">
    <li>Tooltip text 1</li>
  </ul>
</div>
&#13;
&#13;
&#13;