Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 带标签的内容相关div_Css_Html_Width - Fatal编程技术网

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