【发布时间】:2021-02-12 18:49:48
【问题描述】:
当 Bootstrap 轮播的容器高度高于 150 像素时,我正在尝试减小字体大小。
<div class="carousel-item">
<div class="carousel-caption d-block">
<h3><a href="#">Title</a></h3>
</div>
</div>
$('#crsPos3,#crsPos4').on('slid.bs.carousel', function () {
fixFontSize($(this));
})
function fixFontSize(obj) {
$(obj).find('h3').each(function () {
a = $(this).find('a');
var i = 0;
while ($(this).outerHeight() > 150 && i < 1000) {
var fs = parseInt($(a).css('font-size'));
fs = (fs - 1) + 'px';
$(a).css('font-size', fs);
console.log($(obj).attr('id') + ' ' + fs);
i=i+1;
}
});
}
我使用 var i 来避免过载,但它每次只减少 1 个像素。 控制台显示 (1000) crsPos4 21px
谢谢
【问题讨论】:
-
请用minimal reproducible example 更新您的问题以证明问题,最好是使用堆栈片段(
[<>]工具栏按钮)可运行的问题; here's how to do one. -
这里有一些可能的解决方案:stackoverflow.com/search?q=css+font+height+to+fit
-
您的code appears to work fine。在
slid.bs.carousel事件触发后会不会发生其他事情?在您的fixFontSize末尾添加一条警报以停止处理以查看您的代码已完成的操作,然后查看之后是否有任何变化
标签: javascript jquery font-size