使用html+css+js代码实现 Tooltip气泡提示框

在前端开发过程中,需求与项目引入的组件插件有点出入,所以自己封装一个Tooltip气泡提示框 

查了些资料,都是纯背景色的,无法解决边框线,即便能改,气泡三角和矩形之间也会出现出现边框线。

我这里为了解决能够修改边框线的颜色,重新写了解决方案。

原理:一个主体矩形+两个相同的三角形,根据两个三角形之间垂直方向的位移,形成边缝线。(其中底层带边框的三角上移,前面带背景色的三角下移)

原理图:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>提示框</title>
<style>
  /* 矩形 */
  #tag {
    width: 150px;
    height: 50px;
    border: 2px solid red;
    border-radius: 4px 4px;
    position: absolute;
    background-color: green;
    padding: 10px;
    display: none;
  }
  /* 文字样式 */
  #tag span {
    color: #fff;
  }
  /* 三角组合样式 */
  .arrow {
    position: absolute;
    top: -15px;
    left: 25px;
  }
  /* 底层三角 */
  .arrow .t1 {
    border-width: 8px;
    position: absolute;
    border-style: solid dashed dashed dashed;
    border-color: transparent transparent red;
    top: -3px;
  }
  /* 头层三角 */
  .arrow .t2 {
    border-width: 8px;
    position: absolute;
    border-style: solid dashed dashed dashed;
    border-color: transparent transparent green;
  }
</style>
<script>
  //鼠标进入
  function mouseOver(x){
	document.getElementById('tag').style.display = 'block';
  }
  //鼠标离开
  function mouseOut(x){
	document.getElementById('tag').style.display = 'none';
  }
</script>
</head>
<body>
  <img onmouseover="mouseOver(this)" onmouseout="mouseOut(this)" src="smiley.jpg">
  <div id="tag">
    <div class="arrow">
      <span class="t1"></span>
      <span class="t2"></span>
    </div>
    <span>今天天气真不错!</span>
  </div>
</body>
</html>

最终效果图如下:

1.鼠标移入笑脸表情:

2.鼠标移出笑脸表情:

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学弟不想努力了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值