Bootstrap弹出框(Popover)被挤压的问题
比较了下Bootstrap的popover和一些其它的开源项目,觉得Bootstrap的还算不错。没想到第一次就遇到了一个问题。
弹出框显示的时候如果贴近一个列的边沿,就会很窄,如果一个列比较宽还好,而如果遇到这样的列比如:
,几乎任意位置显示的弹出框都被挤压了。
先看看我的实现以及效果:
js:
$(function (){
$("\[data-toggle='popover'\]").popover({
trigger: 'hover'
});
});
html:
<div class="col-md-1">
...
<img src="..." width="50" height="50" data-toggle="popover" data-content='...' title="..." />
...
</div>
效果
不过解决起来很简单,只需在初始化的时候添加一个container属性就可以了:
$(function (){
$("\[data-toggle='popover'\]").popover({
trigger: 'hover',
container: 'body'
});
});
我们把容器设置成整个页面的body,这样popover就有足够宽的地方了。
实际上在官网上对container的作用是有说明的地址 ,只是没有注意到:
Appends the popover to a specific element. Example: container: 'body'. This option is particularly useful in that it allows you to position the popover in the flow of the document near the triggering element - which will prevent the popover from floating away from the triggering element during a window resize.