Css 带标签的内容相关div
这正是我想要的——垂直滚动条(没有水平滚动条)、封顶高度和内容相关宽度。除了一个例外——它没有考虑垂直滚动条的宽度。因此,当行/复选框较少且不需要垂直滚动条时,Css 带标签的内容相关div,css,html,width,Css,Html,Width,这正是我想要的——垂直滚动条(没有水平滚动条)、封顶高度和内容相关宽度。除了一个例外——它没有考虑垂直滚动条的宽度。因此,当行/复选框较少且不需要垂直滚动条时,div的宽度是最宽复选框的宽度。但当滚动条出现时,div的宽度不变: 标签分为两行。我用span解决了这个问题: div#combobox { max-height: 150px; overflow: auto; border: 1px solid #000000; } 但是div的宽度仍然不正确: 有没有办
div
的宽度是最宽复选框的宽度。但当滚动条出现时,div
的宽度不变:
标签
分为两行。我用span
解决了这个问题:
div#combobox
{
max-height: 150px;
overflow: auto;
border: 1px solid #000000;
}
但是div
的宽度仍然不正确:
有没有办法让
div
只考虑html/css的滚动条宽度?如果没有,使用javascript的最佳方法是什么?我建议您使用以下内容:
span
{
white-space:nowrap;
}
因此,您可以检查是否有已激活的滚动:
(function($) {
$.fn.hasScrollBar = function() {
return this.get(0).scrollHeight > this.height();
}
})(jQuery);
之后,您可以使用一些javascript扩展div
的大小……这可能适合您:
$('combobox').css(“宽度”,$('combobox').width+13)代码>//这只是一个使用13px的示例,但您需要在所有浏览器中测试它,看看它是如何工作的您找到解决问题的方法了吗?我没有使用jQuery,尽管我基本上按照您所描述的做了-检查是否有滚动条,并相应地用JS更改了宽度。但由于jQuery的原因,无法将其标记为已接受。@NPS ok没问题,我只是想看看是否有帮助
span
{
white-space:nowrap;
}
(function($) {
$.fn.hasScrollBar = function() {
return this.get(0).scrollHeight > this.height();
}
})(jQuery);
$('#combobox').hasScrollBar(); // returns true if there's a `vertical` scrollbar