纯CSS:在悬停文本上方的中心工具提示

Jon*_*nah 4 css

小提琴看看我到目前为止:http://jsbin.com/udegux/1/edit

HTML

<span id="test" class="drag-hint"><span>drag</span>Mouse and drag</span>
Run Code Online (Sandbox Code Playgroud)

CSS:

.drag-hint {
  position:relative;
}
.drag-hint > span{
  display:none;
}
.drag-hint:hover > span {
  display:inline;
  position:absolute;
  top: -25px;
  left: 30px;
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我目前通过指定"顶部"和"左侧"属性手动将悬停拖动提示居中于文本上.如果文本更长或更短,我将不得不手动更改这些值以使提示看起来居中.

我正在寻找一种方法,使用纯CSS自动将"拖动"一词置于短语"鼠标并拖动"之上.

Dee*_*lue 7

更动态的解决方案:

.tooltip--top {
  bottom: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%);
}
Run Code Online (Sandbox Code Playgroud)

如果这是您正在使用的唯一工具提示类,请添加position: absolute;到它。

5px 是相对于父元素上边缘的偏移量。平常的东西。


ale*_*lex 5

如果将块放在文本的上方并在上面设置text-align: center,则不需要使用JavaScript.

.drag-hint:hover > span {
  display: inline;
  position:absolute;
  top: -25px;
  left: 0;
  right: 0;
  text-align: center;
}
Run Code Online (Sandbox Code Playgroud)

JSBin.

  • 你好!确实不错,但是如果工具提示比其容器宽怎么办?http://stackoverflow.com/questions/26292600/pure-css-center-tooltip-above-text-on-hover-pt-2 (2认同)