Css 为什么Firefox在需要垂直滚动条时会添加水平滚动条?
我有一个最大高度的简单列表,因为如果有太多的项目,我想滚动它。不幸的是,一旦有足够的内容需要(垂直)滚动,Firefox就会添加恼人的水平滚动条,而不是像人们所期望的那样(Chrome确实是这样做的!) 注意Css 为什么Firefox在需要垂直滚动条时会添加水平滚动条?,css,firefox,scrollbar,horizontal-scrolling,Css,Firefox,Scrollbar,Horizontal Scrolling,我有一个最大高度的简单列表,因为如果有太多的项目,我想滚动它。不幸的是,一旦有足够的内容需要(垂直)滚动,Firefox就会添加恼人的水平滚动条,而不是像人们所期望的那样(Chrome确实是这样做的!) 注意位置:绝对是必需的;在我的实际代码中,这是单击相应按钮时显示的下拉式元素的一部分。因此,虽然删除它可以解决问题,但它不是我要寻找的解决方案 ul{ 最大高度:5公分; 溢出y:自动; 位置:绝对位置; 字体系列:Arial; } ul>li{ 空白:nowrap; } 这是一个导致滚动的
位置:绝对代码>是必需的;在我的实际代码中,这是单击相应按钮时显示的下拉式元素的一部分。因此,虽然删除它可以解决问题,但它不是我要寻找的解决方案
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不会切断我的文本,但事实确实如此。无论如何,恐怕滚动条的宽度是未知的,在浏览器和操作系统之间有很大的差异。因此,设置“某些”填充看起来很难看(当没有足够的内容需要任何滚动条时,情况更为普遍)。。。所以我仍然不确定解决方案是什么:)