【问题标题】:Align Bootstrap's tooltip to the left of the element?将 Bootstrap 的工具提示对齐到元素的左侧?
【发布时间】:2013-05-13 04:56:06
【问题描述】:

我正在使用Bootstrap's 工具提示脚本,当我的文本工具提示被截断时出现问题。我正在使用 CSS 来截断文本,然后在该文本上有一个工具提示,这样您就可以将鼠标悬停在上面并查看全文。我的问题是当文本被截断时,工具提示仍然以元素为中心,就好像它没有被截断一样。

除了这个问题,我更希望它的样式如下所示。我希望它使工具提示与元素的左侧对齐,并且工具提示上的箭头也向左对齐。或者,如果工具提示在元素的一侧,那么它会与顶部对齐并且箭头在顶部。

现在基本上是这样的:

             ################
             # TOOLTIP      #
             ################
                    v
Some really long text th...

我希望它看起来像这样:

################
# TOOLTIP      #
################
 v
Some really long text th...

或者像这样的一面:

################ > Some really long text th...
# TOOLTIP      #
################

谢谢。

[编辑] 我已经弄清楚了箭头的移动,这只是简单的 css。但是工具提示本身的对齐似乎是 javascript 的一部分。

【问题讨论】:

    标签: twitter-bootstrap alignment tooltip


    【解决方案1】:

    要实现如下布局:

              element
                 ^
    ################
    # TOOLTIP      #
    ################
    

    CSS

    .tooltip.bottom .tooltip-arrow {
      left: 90% !important;
    }
    

    JS

    $('[data-toggle=tooltip]').on('inserted.bs.tooltip', function() {
      $('.tooltip').css('opacity', 0);
    });
    
    $(''[data-toggle=tooltip]'').on('shown.bs.tooltip', function() {
      var $tooltip = $('.tooltip');
      $tooltip.css('left', $tooltip.offset().left - $tooltip.width() / 2);
      $tooltip.css('opacity', 1);
    });
    

    由于隐藏和显示工具提示,会有一点延迟,但无论工具提示大小如何,定位都可以正常工作。

    【讨论】:

      【解决方案2】:

      我认为您需要调整tooltip-arrow CSS 和整个tooltip 的位置。这会让你更接近它,​​但它可能需要更多的调整......

      .tooltip-arrow CSS

      .tooltip.right .tooltip-arrow{
          top: 5%;
          margin-top: 0px;
      }
      
      .tooltip.top .tooltip-arrow{
          left: 6%;
          bottom:1px;
      }
      

      jQuery 函数来调整工具提示的位置..

      $("[data-placement=right]").hover(function(){
          $('.tooltip').css('top',parseInt($('.tooltip').css('top')) + 8 + 'px')
      });
      

      Demo on Bootply

      编辑:您也可以仅使用 CSS 定位 .tooltip。 Alternate demo

      .tooltip.right {
          margin-top:8px;
      }
      

      【讨论】:

      • 我希望不必在加载事件中添加额外的 javascript(对不起,如果这些不是严格的术语!)因为这是在 ASP.net 网站上,而且我们所做的回发弄乱了这个加载东西迫使我们有更多的代码来让它工作。我希望在原始的 javascript 代码中有一些我可以编辑的东西……也许吧?
      • 我想就是这样!非常感谢!
      • 如果你制作更长的字符串,左上角将无法正常工作
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-13
      • 2021-01-15
      • 1970-01-01
      相关资源
      最近更新 更多