javascript - 工具提示未正确显示

标签 javascript jquery html css tooltip

使用以下 JavaScript 函数,我设法在悬停时显示带有箭头的静态工具提示。

   $('.tooltip-basic').hover(function () {
      var title = $(this).attr('title');
      $(this).data('title', title).removeAttr('title');
      $('<p class="tooltip-basic-message"></p>').text(title).appendTo(this).fadeIn('slow');
   }, function () {
      $(this).attr('title', $(this).data('title'));
      $('.tooltip-basic-message').remove();
   });

但是,我正在努力将箭头定位在工具提示下方,并将工具提示定位在其 div 上方,无论它的高度是多少。

这是一个 fiddle : http://jsfiddle.net/xA8LS/3/

最佳答案

首先,abbr 元素应该是 block 级别的元素。

.tooltip-basic {
    position: relative;
    display:block;
}

其次,:before 伪元素应该绝对定位——而不是相对定位。

.tooltip-basic-message:before {
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #285A98;
    content:"";
    display:block;
    width: 0;
    height: 0;
    position: absolute;
    bottom:-6px;
    left: 5px;
    z-index: 1;
}

除此之外,还需要更改一些定位。

Updated Example


此外,如果您希望箭头居中:

Alternative Example

.tooltip-basic-message:before {
    left: 50%;
    margin-left: -2.5px;
}

关于javascript - 工具提示未正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23552177/

相关文章:

Jquery,变量中的多个 CSS 属性

javascript - DataTables - 返回 ajax 数据的格式

javascript - 首次访问 iOS9 上的 Safari 时页面显示为空白但可选择

javascript - 修改时区新日期javascript

Javascript 调用 vb.net 中的 pageMethod 不起作用

javascript - Chrome 扩展程序中的上下文菜单

html - 防止文本在输入字段下方换行

javascript - 如何检查用户是否在 Firebase 和 Express/Node.js 中进行了身份验证?

javascript - 如何将链接添加到这个 Angular 演示中?

javascript - 需要帮助根据元素的宽度定位元素 (Javascript)