自定义样式工具提示

时间:2016-12-28 16:01:39

标签: javascript jquery css

我想在悬停在链接上时创建自定义样式工具提示 谷歌几乎整个互联网,一无所获...... 我希望我的自定义工具提示具有png图像具有透明背景的图像背景。

enter image description here

进行一些调整,以便文本显示在该背景上。 可能?产品:>

2 个答案:

答案 0 :(得分:0)

HTML title属性(通常被视为“工具提示”)只能是文本。要做你想做的事,看看Bootstrap“Popovers”:http://getbootstrap.com/javascript/#popovers

答案 1 :(得分:0)

这是可能的,但它可能会变得复杂,取决于你是否希望它是防弹,为了简单的部分:

  1. 制作div并将position值设置为fixedabsolute,将其设为非常高z-index并将图片设置为背景{默认为{1}}。
  2. 在每个链接(或您要为其启用工具提示的任何元素中添加一些display:none属性,在此演示中为data
  3. 使用javascript,将鼠标悬停在"工具提示" element,将data-tooltip-title属性的值注入工具提示文本,同时注入"工具提示"的data-tooltip-titletop偏移量。元素为lefttop用于工具提示,并淡化工具提示。
  4. 在mouseout上,淡出工具提示。
  5. jsFiddle Demo

    
    
    left
    
    var links = $('[data-tooltip-title]'),
      myTooltip = $('#my-tooltip');
    
    links.each(function() {
      var $this = $(this),
        posLeft = $this.offset().left,
        posTop = $this.offset().top,
        title = $this.attr('data-tooltip-title');
      $this.hover(function() {
        myTooltip.text(title).css({
          top: posTop + 20,
          left: posLeft
        }).fadeIn();
      }, function() {
        myTooltip.fadeOut();
      })
    })
    
    #my-tooltip {
      background: transparent url(//i.stack.imgur.com/ZNRfI.png) no-repeat;
      width: 541px;
      height: 113px;
      color: white;
      text-align: center;
      line-height: 150px;
      position: absolute;
      left: -999px;
      top: -999px;
      z-index: 9999;
      display: none;
    }
    
    
    

    上述自定义工具提示在以下情况下无法正常工作:

    • "工具提示"之间的距离并且浏览器窗口的右下角 less 比工具提示的宽度小。
    • "工具提示的文字"元素包裹在两行上。
    • 工具提示的文字长于工具提示宽度。

    这些问题可以修复,但需要进一步实施。

相关问题