我使用Twitter Bootstrap创建了一个提示框。
提示框显示为三行。但是我希望将提示框只显示为一行。
我该如何更改提示框的宽度?这是特定于Twitter Bootstrap还是通用于所有提示框?
我使用Twitter Bootstrap创建了一个提示框。
提示框显示为三行。但是我希望将提示框只显示为一行。
我该如何更改提示框的宽度?这是特定于Twitter Bootstrap还是通用于所有提示框?
只需覆盖bootstrap.css文件即可。
在BS2中默认max-width为200像素;因此您可以根据需要将其增加到适当的大小。
.tooltip-inner {
max-width: 350px;
/* If max-width does not work, try using width instead */
width: 350px;
}
max-width
对我不起作用,但 width
可以。已在 Chrome 和 IE9 上测试。有任何线索吗? - Rosdi Kasimmax-width
问题且没有看到@knobli下面的答案的人,请在您的HTML元素中使用data-container="body"
。 - kips15在BS3上
.tooltip-inner {
min-width: 150px; /* the minimum width */
}
我意识到这是一个非常古老的问题,但如果我来到这里,其他人也会来到这里。所以我想发表一下我的看法。
如果您希望工具提示仅对一行响应,而不管您添加多少内容,则宽度必须具有灵活性。然而,Bootstrap确实将工具提示初始化为某个宽度,因此您至少必须声明该宽度,并使其从该大小开始具有灵活性。这是我推荐的做法:
.tooltip-inner {
min-width: 100px;
max-width: 100%;
}
min-width
指定了一个起始大小。与其他一些建议使用的max-width
相反,它声明了一个停止宽度。根据您的问题,您不应该声明最终宽度,否则您的工具提示内容最终会在那一点处换行。相反,您可以使用无限宽度或灵活宽度。max-width: 100%;
将确保一旦工具提示已在100像素宽处启动,它将根据您的内容增长和调整,而不管您在其中有多少内容。
请记住工具提示不打算携带大量内容。如果您在整个屏幕上有一个长字符串,它可能看起来很奇怪。这肯定会影响您的响应式视图,尤其是智能手机(320像素宽)。
我建议两种解决方案来完善此问题:
data-placement:right
的工具提示,你的工具提示内容将在智能手机上不可见(这就是为什么Bootstrap最初设计它们对其内容进行响应并允许其换行的原因)。@media
查询来重置您的工具提示以适应智能手机视图。就像这样:我的演示 在此处 演示了工具提示根据内容大小和设备显示大小的灵活性和响应性。
@media (max-width: 320px) {
.tooltip-inner {
min-width: initial;
width: 320px;
}
}
使用"important!"定义最大宽度,并使用data-container="body"
CSS文件
.tooltip-inner {
max-width: 500px !important;
}
HTML标签
<a data-container="body" title="Looooooooooooooooooooooooooooooooooooooong Message" href="#" class="tooltiplink" data-toggle="tooltip" data-placement="bottom" data-html="true"><i class="glyphicon glyphicon-info-sign"></i></a>
JS脚本
$('.tooltiplink').tooltip();
data-container="body"
就足够了。谢谢! - Izhaki您应该使用自己的CSS覆盖属性。像这样:
div.tooltip-inner {
text-align: center;
-webkit-border-radius: 0px;
-moz-border-radius: 0px;
border-radius: 0px;
margin-bottom: 6px;
background-color: #505050;
font-size: 14px;
}
选择器选择包含提示框的 div 元素(提示框是由 JavaScript 添加的,通常不属于任何容器)。
为解决宽度问题,请改用以下代码。
$('input[rel="txtTooltip"]').tooltip({
container: 'body'
});
example: http://eureka.ykyuen.info/2014/10/08/bootstrap-3-tooltip-width/
另一个解决方案是,在CSS中创建一个新类(例如tooltip-wide):
.tooltip-wide + .tooltip > .tooltip-inner {
max-width: 100%;
}
在您想要使用宽工具提示的元素上使用此类:
<div class="tooltip-wide" data-toggle="tooltip" title="I am a long tooltip">Long tooltip</div>
Bootstrap工具提示生成包含小提示的元素下方的标记,因此在生成标记后,HTML实际上看起来像下面这样:
<div class="tooltip-wide" data-toggle="tooltip" title="I am a long tooltip">Long tooltip</div>
<div class="tooltip" role="tooltip">
<div class="tooltip-arrow"></div>
<div class="tooltip-inner">I am a long tooltip</div>
</div>
CSS使用此方法访问与.tooltip-wide相邻的元素(+),然后导航到.tooltip-inner,再应用max-width属性。这只会影响使用.tooltip-wide类的元素,所有其他工具提示都将保持不变。
data-template="<div class='tooltip' role='tooltip'><div class='arrow'></div><div class='tooltip-inner tooltip-wide'></div></div>"
和.tooltip-wide {max-width: 100%;min-width: 80%;}
可以让它工作。 - Matteo Ferla经过一些尝试,这对我来说效果最好:
.tooltip-inner {
max-width: 350px; /* set this to your maximum fitting width */
width: inherit; /* will take up least amount of space */
}
<a href="/link" class="btn btn-info"
data-toggle="tooltip"
data-placement="bottom"
data-template="<div class='tooltip' role='tooltip'><div class='arrow'></div><div class='tooltip-inner' style='max-width: 400px;'></div></div>"
title="This is a long message displayed on 400px width tooltip !"
>
My button label
</a>
data-sanitize='false'
。 - undefined