作者:大开先生_615 | 来源:互联网 | 2023-05-19 10:39
在我的基于flexbox的布局中,我可能有一个
元素(以及其他元素).因为它的内容可能比容器更宽,所以我做到了overflow-x:auto
.
它在Chrome上完美运行:
但它在Firefox上被破坏了:
如何在没有硬编码尺寸的情况下解决这个问题?
div,pre {
padding: 5px;
color: white;
}
.m {
background: #222;
display: flex;
}
.l, .r {
background: #143;
flex: 0 0 100px;
}
.c {
background: #971;
flex: 1;
}
pre {
white-space: pre;
word-wrap: normal;
overflow-x: auto;
}
this must be 100px wide
this must take the remaining space
this must be 100px wide
this must be 100px wide
The following line of code is long:
This is the long line of code the previous line of code was referring to (no, it can't be 72 col, sorry for the inconvenience)
Some other content in the c column.
this must be 100px wide
1> dholbert..: 你只需要设置min-width:0
你的弹性项目,.c
.见我对这个类似的问题的答案更多.
背景故事:Flexbox规范引入了一个新的大小调整功能,min-width: auto
它可以使弹性项目至少 与其最小内容宽度一样大 - 这是其内容所需的最小宽度,以避免溢出.目前,Firefox是唯一实现此功能的浏览器,这就是为什么你只能在那里看到它.
如果要禁用此行为,只需提供flex项min-width:0
.
(您也可以设置overflow:hidden
flex项目,如此处的其他答案中所述,但这太过分了.只有min-width:auto
通过min-width:auto
定义中的特殊情况强制解析为0 才能使您受益.缺点是overflow:hidden
也会 强制浏览器做额外的工作来管理弹性项目的隐形可滚动区域,并且在内存和性能方面有非零成本,所以除非你真的在flex项目上使用 overflow:hidden
,否则最好避免它.你不是,所以它是最好避免它.)
div,pre {
padding: 5px;
color: white;
}
.m {
background: #222;
display: flex;
}
.l, .r {
background: #143;
flex: 0 0 100px;
}
.c {
background: #971;
flex: 1;
min-width: 0;
}
pre {
white-space: pre;
word-wrap: normal;
overflow-x: auto;
}
this must be 100px wide
this must take the remaining space
this must be 100px wide
this must be 100px wide
The following line of code is long:
This is the long line of code the previous line of code was referring to (no, it can't be 72 col, sorry for the inconvenience)
Some other content in the c column.
this must be 100px wide
2> GNi33..: 你需要做的就是设置代码块的父元素
,在本例中为
overflow: hidden
.c {
background: #971;
flex: 1;
overflow: hidden;
}
.c
是一个块元素,它占用了它在这里获得的所有空间,而不允许使用此规则集溢出.
pre
由于孩子因其内容而占用更多空间,因此孩子会溢出其父级,因此overflow: auto
将设置为滚动此处,从而导致滚动区域出现在内部pre
元素上.
示范:
div,pre {
padding: 5px;
color: white;
}
.m {
background: #222;
display: flex;
}
.l, .r {
background: #143;
flex: 0 0 100px;
}
.c {
background: #971;
flex: 1;
overflow: hidden;
}
pre {
white-space: pre;
word-wrap: normal;
overflow-x: auto;
}
this must be 100px wide
this must take the remaining space
this must be 100px wide
this must be 100px wide
The following line of code is long:
This is the long line of code the previous line of code was referring to (no, it can't be 72 col, sorry for the inconvenience)
Some other content in the c column.
this must be 100px wide
推荐阅读
通过点击页面右侧的“预览”按钮,您可以直接在当前页面查看效果,或点击链接进入全屏预览模式。该视频教程展示了如何使用纯 CSS 实现按钮两侧滑入装饰元素的悬停效果。视频内容具有互动性,观众可以实时调整代码并观察变化。访问以下链接体验完整效果:https://codepen.io/comehope/pen/yRyOZr。 ...
[详细]
蜡笔小新 2024-11-07 14:24:29
iamtryingtomakeanavigationmenuinsidea200pxx200pxsquare,thisnavigationlist(UL)chang ...
[详细]
蜡笔小新 2023-09-16 19:05:52
在Python中,是否可以通过使用Tkinter或ttk库创建一个具有自动换行功能的多行标签,并使其宽度能够随着父容器的变化而动态调整?例如,在调整NotePad窗口宽度时,实现类似记事本的自动换行效果。这种功能在设计需要显示长文本的对话框时非常有用,确保文本内容能够完整且美观地展示。 ...
[详细]
蜡笔小新 2024-11-04 20:46:21
TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得 ...
[详细]
蜡笔小新 2024-11-04 12:55:23
本文深入探讨了 HTML 中的 `margin` 属性,详细解析了其基本特性和应用场景。文章不仅介绍了 `margin` 的基本概念,还重点讨论了垂直外边距合并现象,并分析了 `margin` 在块级元素与内联元素中的不同表现。通过实例和代码示例,帮助读者全面理解 `margin` 的使用技巧和常见问题。 ...
[详细]
蜡笔小新 2024-10-30 15:08:31
Ihaveafixed,100%heightmenuontheleftandIneedtocreateashadoweffectonitsrightside ...
[详细]
蜡笔小新 2023-09-15 20:35:05
技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告 ...
[详细]
蜡笔小新 2024-11-07 14:33:19
Java集合框架特性详解与开发实践笔记 ...
[详细]
蜡笔小新 2024-11-02 12:55:56
Bootstrapfontnotloadingcorrectlyglyphicons-halflings-regular.woff2.引导字体没有正确加载符号-halflingr ...
[详细]
蜡笔小新 2023-09-24 18:22:46
可能我们在看一些网页的源码时会发现自己从来没见过的属性或用法今天我就来总结一下CSS3的冷知识样式计算在CSS中也可以进行简单的计算通过calc函数可以实现这样还可以使我们的 ...
[详细]
蜡笔小新 2023-09-24 12:20:45
很有意思的全景动画:(直接上代码)html部分:<div><div>css部分:.panorama{width:300px;hei ...
[详细]
蜡笔小新 2023-09-16 12:37:52
CSS3filter(滤镜)属性-原文链接:CSS3filter(滤镜)属性效果预览这里仅展示黑白效果。filter:grayscale(100%);定义和使用filter 属性定 ...
[详细]
蜡笔小新 2023-09-15 20:40:41
本文探讨了 Java 中 Pair 类的历史与现状。虽然 Java 标准库中没有内置的 Pair 类,但社区和第三方库提供了多种实现方式,如 Apache Commons 的 Pair 类和 JavaFX 的 javafx.util.Pair 类。这些实现为需要处理成对数据的开发者提供了便利。此外,文章还讨论了为何标准库未包含 Pair 类的原因,以及在现代 Java 开发中使用 Pair 类的最佳实践。 ...
[详细]
蜡笔小新 2024-11-06 18:56:35
在前文探讨了Spring如何为特定的bean选择合适的通知器后,本文将进一步深入分析Spring AOP框架中代理对象的生成机制。具体而言,我们将详细解析如何通过代理技术将通知器(Advisor)中包含的通知(Advice)应用到目标bean上,以实现切面编程的核心功能。 ...
[详细]
蜡笔小新 2024-11-06 10:11:10
Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ...
[详细]
蜡笔小新 2024-11-01 18:37:10