Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何为twitter引导popover设置最大宽度属性?_Jquery_Twitter Bootstrap_Popover - Fatal编程技术网

Jquery 如何为twitter引导popover设置最大宽度属性?

Jquery 如何为twitter引导popover设置最大宽度属性?,jquery,twitter-bootstrap,popover,Jquery,Twitter Bootstrap,Popover,我在一个跨度上悬停的时候有一个爆米花 $(".ico-sign").setPopover({ placement: 'bottom', content: $("#divInfo").html() }); 如何设置此popover的max width属性 我试过了,但没用 .popover { max-width: 450px !important; } 编辑:我假设您使用的是twitter引导popover 您可以使用以下css来实现这一点: .po

我在一个跨度上悬停的时候有一个爆米花

$(".ico-sign").setPopover({       
    placement: 'bottom',
    content: $("#divInfo").html()   
});
如何设置此popover的
max width
属性

我试过了,但没用

.popover {
   max-width: 450px !important;
}

编辑:我假设您使用的是twitter引导popover

您可以使用以下css来实现这一点:

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1010;
  display: none;
  max-width: 10px;
  padding: 1px;
  text-align: left;
  white-space: normal;
  background-color: #ffffff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-border-radius: 6px;
     -moz-border-radius: 6px;
          border-radius: 6px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
     -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -webkit-background-clip: padding-box;
     -moz-background-clip: padding;
          background-clip: padding-box;
}

我已经为工作做好了准备。更改css中的
max width
以测试首先,尝试了解html/css以及一些js脚本(作为工具提示扩展的bootstrap中的popover)的工作原理。 (我也遇到了同样的问题,所以这里是我的解决方案…)

工具提示的工作原理分为三个步骤: I.bs/工具提示对工具提示内容的大小进行一些计算

Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
return placement == 'bottom' ? { top: pos.top + pos.height,   left: pos.left + pos.width / 2 - actualWidth / 2  } :
       placement == 'top'    ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2  } :
       placement == 'left'   ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
    /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width   }
}
II。bs/tooltip在触发器元素附近添加一些html容器(实际上在触发器元素之后)

III.根据第一步中得到的大小,bs/工具提示会将您的内容绝对放置在第二步中的容器中

除此之外,前面提到的css添加了一些关于如何工作的参数,当然还有外观,我的意思是特别是最大宽度属性

正如您所看到的,它只不过是将绝对元素放置在触发器元素附近

问题是:工具提示相对于触发器元素放置提示,但相对于包含的父项放置提示

问题结论 总之:当父项(要触发)的宽度为100px时,您的最大宽度为200px(on.popover)将不起作用

解决方案: 至少有两种解决方案:

  • 把你的物品带到树的上层,那里有更多的空间
  • 删除位置:相对于父项
  • 在.popover上使用最小宽度强制最小宽度值(宽度也可能有效)
  • 尝试通过一些计算来扩展插件?(我知道-这是铁杆的…)
  • 后脚本 我不是100%确定它是如何工作的,这个问题导致我没有时间检查bs/工具提示是如何计算位置的,但我非常确定这是相对于父项的位置,这会产生问题(如我的…)

    .popover {
         position: absolute;
         top: 0;
         left: 0;
         z-index: 1010;
         display: none;
         max-width: 276px;
         padding: 1px;
         text-align: left;
         white-space: normal;
         background-color: #fff;
         background-clip: padding-box;
         border: 1px solid #ccc;
         border: 1px solid rgba(0, 0, 0, .2);
         border-radius: 6px;
         -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
                 box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
    }