我正在使用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的一部分。
答案 0 :(得分:7)
我认为您需要调整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')
});
编辑:您也可以只使用CSS定位.tooltip。 Alternate demo
.tooltip.right {
margin-top:8px;
}
答案 1 :(得分:0)
要实现以下布局:
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);
});
由于隐藏和显示工具提示而导致延迟很小,但无论工具提示大小如何,定位都能正常工作。