Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.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 为什么Firefox在需要垂直滚动条时会添加水平滚动条?_Css_Firefox_Scrollbar_Horizontal Scrolling - Fatal编程技术网

Css 为什么Firefox在需要垂直滚动条时会添加水平滚动条?

Css 为什么Firefox在需要垂直滚动条时会添加水平滚动条?,css,firefox,scrollbar,horizontal-scrolling,Css,Firefox,Scrollbar,Horizontal Scrolling,我有一个最大高度的简单列表,因为如果有太多的项目,我想滚动它。不幸的是,一旦有足够的内容需要(垂直)滚动,Firefox就会添加恼人的水平滚动条,而不是像人们所期望的那样(Chrome确实是这样做的!) 注意位置:绝对是必需的;在我的实际代码中,这是单击相应按钮时显示的下拉式元素的一部分。因此,虽然删除它可以解决问题,但它不是我要寻找的解决方案 ul{ 最大高度:5公分; 溢出y:自动; 位置:绝对位置; 字体系列:Arial; } ul>li{ 空白:nowrap; } 这是一个导致滚动的

我有一个最大高度的简单列表,因为如果有太多的项目,我想滚动它。不幸的是,一旦有足够的内容需要(垂直)滚动,Firefox就会添加恼人的水平滚动条,而不是像人们所期望的那样(Chrome确实是这样做的!)

注意
位置:绝对是必需的;在我的实际代码中,这是单击相应按钮时显示的下拉式元素的一部分。因此,虽然删除它可以解决问题,但它不是我要寻找的解决方案

ul{
最大高度:5公分;
溢出y:自动;
位置:绝对位置;
字体系列:Arial;
}
ul>li{
空白:nowrap;
}
  • 这是一个导致滚动的长测试
  • 这是一个导致滚动的长测试
  • 这是一个导致滚动的长测试
  • 这是一个导致滚动的长测试
  • 这是一个导致滚动的长测试
  • 这是一个导致滚动的长测试

与Firefox相比,您可能更喜欢Chrome的行为,但Firefox的行为才是正确的。您还错误地认为Chrome正在扩展宽度。事实并非如此,您可以看到内容实际上是可水平滚动的,例如,选择某行末尾的某个文本向右滚动,然后选择某行开头的某个文本向左滚动

警察说

首字母:可见
计算值:如指定,如果溢出-x或溢出-y中的一个既不可见也不剪裁,则“可见/剪裁计算”为“自动/隐藏”(分别)时除外

您已经将overflow-y设置为自动,因此通过此overflow-x也应该从可见更改为自动

本合同确定为:

左+页边距左+边框左宽度+填充左+宽度+填充右+边框右宽度+页边距右+右=包含块的宽度

其中“左”、“右”和“宽度”为“自动”,边距、边框和填充为0。在这种情况下,规范说明了规则3

。。。然后将宽度缩小以适合

“缩小以适合您的情况”将解析为“首选宽度”,即内容的宽度。由于右边的填充为0,垂直滚动条除了缩小内容框的宽度外别无选择

Chrome和Firefox都在做这个缩减。由于ul的内容现在对于ul的框来说太宽,因此内容可以水平滚动


Chrome错误地将溢出-x的计算值更改为“隐藏”,而不是“自动”,从而隐藏了水平滚动条。

您可以设置大于或等于最长行的宽度,或设置
溢出-x:hidden
<代码>溢出-x:visible
由于某些原因仍然有一个滚动条。。。最好是你,因为其中一些行包含用户提供的数据,我不知道它们会有多大。在任何情况下,动态调整元素大小都是正常的行为,因此应该可以正常工作。如果我的代码没有问题,我确实计划在bugzilla上报告:)嗯,我可以发誓chrome不会切断我的文本,但事实确实如此。无论如何,恐怕滚动条的宽度是未知的,在浏览器和操作系统之间有很大的差异。因此,设置“某些”填充看起来很难看(当没有足够的内容需要任何滚动条时,情况更为普遍)。。。所以我仍然不确定解决方案是什么:)