HTML-工具提示相对于鼠标指针的位置

标签 html css alignment tooltip mousehover

如何将工具提示对齐为自然样式:鼠标指针右下角?

<!DOCTYPE html>
<html>
<head>
  <title>Tooltip with Image</title>
  <meta charset="UTF-8">
  <style type="text/css">
    .tooltip {
        text-decoration:none;
        position:relative;
    }
     .tooltip span {
        display:none;
    }
     .tooltip span img {
        float:left;
    }
     .tooltip:hover span {
        display:block;
        position:absolute;
        overflow:hidden;
    }
  </style>
</head>
<body>
  <a class="tooltip" href="http://www.google.com/">
    Google
    <span>
      <img alt="" src="http://www.google.com/images/srpr/logo4w.png">
    </span>
  </a>
</body>
</html>

最佳答案

对于默认的工具提示行为,只需添加 title 属性。不过,这不能包含图像。

<div title="regular tooltip">Hover me</div>

在您澄清我用纯 JavaScript 完成的问题之前,希望您觉得它有用。图像将弹出并跟随鼠标。

jsFiddle

JavaScript

var tooltipSpan = document.getElementById('tooltip-span');

window.onmousemove = function (e) {
    var x = e.clientX,
        y = e.clientY;
    tooltipSpan.style.top = (y + 20) + 'px';
    tooltipSpan.style.left = (x + 20) + 'px';
};

CSS

.tooltip span {
    display:none;
}
.tooltip:hover span {
    display:block;
    position:fixed;
    overflow:hidden;
}

扩展多个元素

多个元素的一个解决方案是更新所有工具提示 span 并在鼠标移动时将它们设置在光标下。

jsFiddle

var tooltips = document.querySelectorAll('.tooltip span');

window.onmousemove = function (e) {
    var x = (e.clientX + 20) + 'px',
        y = (e.clientY + 20) + 'px';
    for (var i = 0; i < tooltips.length; i++) {
        tooltips[i].style.top = y;
        tooltips[i].style.left = x;
    }
};

关于HTML-工具提示相对于鼠标指针的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15702867/

相关文章:

html - 连续html中的一些行

javascript - 单击模态 Bootstrap 中的按钮后的文本区域

html - CSS Transform Scale Hover 中的奇怪线条

css - 绝对 div 位置 - 让它贴在右边

css - 随机 CSS 在 Heroku 部署中不起作用

javascript - 使用 "getElementById"只允许输入字母&数字&下划线

jquery - 如何将拆分按钮 ListView 上的 jquery mobile 自定义为 3 个 anchor ?

html - 如何将 270 度旋转的文本对齐到左上角?

html - 甚至将三个 div 表与多个图像对齐 - 表 1 和 3 有 3 张相同尺寸的图片,表 2 有不同尺寸的图片

user-interface - 如何正确设置 GtkLabel 的最大宽度?