弹性框文本项溢出

2024-03-23

谁能解释一下为什么包含文本的列的宽度没有正确计算以完全包含每列中的文本? 在 Firefox 和 Chrome 上,第一列和第三列中的文本不适合这些框,但令人惊讶的是,这些框在 IE 11 中的大小正确?

这是浏览器错误吗?

.box {
    display: flex;
    border: 1px solid #dbdbdb;
    height: 100px;
}
.box > div {
    border: 1px solid Pink;
}
<div class="box">
    <div>Firstitem</div>
    <div>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</div>
    <div>Lastitem</div>
</div>

我对替代品不感兴趣。我想知道发生这种情况的原因。 (这就是为什么我将这种情况简化为非常基本的情况。)

Thanks!


以下是 Chrome 和 Firefox 33 中发生的情况:

  1. 每个弹性项目建立一个flex base size,在本例中是他们的max-content width(基本上,如果所有文本都放在一行上,则宽度)。请注意,这是HUGE对于中间的弹性项目。
  2. Flex 容器尝试为每个 Flex 项目提供其请求的内容flex base size,但是没有足够的空间可以绕过(因为第二个是贪婪的)。因此,我们进入“收缩”模式。
  3. 默认情况下,每个弹性项目都有,flex-shrink:1-- 因此每个弹性项目都会接收负自由空间的一部分,以使它们总和达到正确的最终大小。 (每件物品收到的金额与它们的数量成正比)flex-shrink也与他们的flex base size,因此较大的东西比小东西收缩得更多。)

因此,每个弹性项目最终都会缩小到比其要求的小一点flex base size,这意味着第一个和最后一个项目有一点溢出,中间的项目必须换行(可怜的事情)。

正如评论中所指出的,规范also(最近)添加了默认值min-width对于弹性项目,通常最终会成为他们的min-content width(如果所有可选换行符都被采用,则它们的宽度)——并且它可以防止弹性项目缩小到该最小尺寸以下。我添加了对此的支持 https://bugzilla.mozilla.org/show_bug.cgi?id=984711在 Firefox 34 中,我相信 IE 在其当前的“技术预览”中也支持这一点。我不确定 WebKit/Blink 何时会添加支持 - 我提交了一个错误 https://code.google.com/p/chromium/issues/detail?id=426898几个月前,以确保它至少在 Chrome 团队的关注范围内。

不管怎样——如果你想在尚不支持的浏览器中解决这个问题min-width:auto,只需设置flex:none在您不想缩小的弹性项目上 - 代码片段中的第一个和最后一个项目。这将他们的flex-shrinkvalue,这意味着在上面的步骤 3 中,中间的 Flex 项目将获得所有负空间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

弹性框文本项溢出 的相关文章

  • Flexbox 列的垂直间距相等

    我在CSS中努力让我的Flexbox在垂直等距的列中显示项目 从而使列的每行之间的空间均匀 html body flex container margin 0 height 100 width 100 body font family Dr
  • 带有图像垂直对齐的内联框:与父框居中

    请运行演示 margin 0 padding 0 body font family Microsoft Yahei font size 16px background color lightblue height 200px width 2
  • 如何像facebook和twitter一样显示帖子更新时间?

    我正在制作一个通知平台 而不是显示通知到来的时间 我想显示自通知到达以来经过的时间 就像在 Twitter 和 Facebook 上发生的那样 他们显示 32m 1 小时前等 我想用JavaScript Java来实现这段代码 任何帮助将非
  • 浏览器特定的 CSS 属性

    在哪里可以找到完整的 浏览器特定 css 属性 参考 我的意思是一些属性 例如 moz border radius这仅适用于 Firefox 或 webkit min device pixel ratio 这些示例仅适用于指定的 Web 浏
  • 何时使用
    换行符 vs CSS 定位?

    我经常想知道如何正确使用 br 越线 似乎它们经常被错误地用于定位或清除应该使用 CSS 的内容 W3schoools org 说使用 br 适用于空白行 但不适用于创造或分离 http www w3schools com tags tag
  • 100% 宽度减去边距和填充[重复]

    这个问题在这里已经有答案了 我一直在四处寻找 但找不到适用于我自己的问题的解决方案 我正在开发一个移动网站 需要输入框为屏幕的 100 宽度 但我有padding left 16px and margin 5px这使得盒子超出了屏幕 所以我
  • JSDoc:如何在生成的文档中包含自定义 css 文件模板?

    JS文档docs https jsdoc app about configuring default template html say 将图像目录复制到输出目录 复制全部 将 myproject static 中的静态文件复制到输出目录
  • 如何使用 CSS 将 div 置于表格中心?

    我正在尝试向我的网站之一添加幻灯片 整个页面布局在一个 HTML 表格中 我非常讨厌它并且没有选择 我想将我的幻灯片放在该特定列的中心 我的 CSS 如下所示 slideshow position relative slideshow IM
  • Django 1.6 的静态文件

    我花了一整天但没有任何作用 我在这里看到了至少 20 篇关于同一主题的帖子 它们各不相同 有不同的建议 但没有一个对我有用 使用 Python 2 7 运行 Django 1 6 我正在尝试从 django 教程加载民意调查应用程序的 cs
  • 转换 SVG 过滤器

    我正在尝试创建一个像 SVG 圆圈上的阴影这样的材质设计 我希望当您单击圆圈时 这个阴影能够以良好的过渡来增长 但目前我正在努力弄清楚是否可以为这种过渡设置动画 所以我希望有人能够提供帮助 我添加了一个到目前为止所得到的小例子 一个带有阴影
  • 如何仅在第一次访问时弹出模态窗口

    我有一个模式窗口 当您访问某个页面时会弹出 访客必须选择我同意或我不同意 我需要一个漂亮的小 jquery 脚本 它会记住谁之前访问过该页面并同意 这样他们每次访问该页面时就不会弹出模式 有人可以推荐一个好的脚本来使用吗 这是代码 div
  • 在CSS中,有什么比使其成为块元素更好的强制元素换行的方法呢?

    我有一个 H3 标题 我想将其样式设置为具有特定的背景颜色 但不让元素的背景占据父元素的整个宽度 鉴于 H3 默认情况下是块元素 我的样式需要将该元素更改为内联块元素 或者只是内联内联元素 如下所示 h3 background color
  • jQuery能否获取未绘制的动态元素的大小

    我的意思是如果我用 jQuery 和 DOM 创建一个 Element var MainHolder document createElement div addClass box 如果我打电话MainHolder width 如果不在窗口
  • 我无法注入带有“!important”规则的样式[重复]

    这个问题在这里已经有答案了 我尝试使用以下代码注入样式 document body style color green important Per CSS 级联引用 http www w3 org TR CSS2 cascade html
  • 调整离子卡中的图像大小

    我想显示一组图像 并在下面说明 我选择使用 Ionic 卡 我得到这个结果 第一张图片 虽然我想保留现在的相同布局 并添加描述 这是我的代码
  • 如何在 jQuery 中使用 CSS“background-image”属性添加的图像上绑定单击事件

    这是我的小提琴link http jsbin com otisur 1 edit 我想我的问题通过标题本身就很清楚了 尽管如此 我正在寻找一种绑定的方法click使用 css 添加的图像上的事件background image财产 我知道
  • 悬停在“除了”之外的所有内容上,即“聚光灯”效果:如何进行平滑且轻松的悬停过渡?

    Chris Coyier 曾在 CSS Tricks 网站上发表过一篇文章介绍如何实现这种效果 ul hover li not hover opacity 5 但我还试图实现平滑且轻松的悬停过渡 我只是不确定如何或在哪里插入代码的 平滑悬停
  • css:将div制作成圆角并在其3/4处添加边框

    我有这样的代码 div class circle div and css circle border left 1px solid red border bottom 1px solid red border radius 200px wi
  • 如何中和 CSS 定义而不覆盖

    有没有一种方法可以中和元素的 CSS 规则而不覆盖所有内容 例如 我正在使用 Twitter Bootstrap 它有许多预定义的 CSS 定义table 在某些地方 我不想要它们 对某些table元素 我想知道我是否可以做这样的事情 ta
  • 如何反转媒体查询中元素的顺序?

    我有两个 div 左和右 但是当屏幕小于 500px 时 左 div 成为底部 div 右 div 成为顶部 div DOM 中的第一个 div 应该显示为第二个 第二个 div 为第一个 I use display flex 然后 div

随机推荐

  • ERD - 如何使用第三个实体作为“属性”来建模两个实体之间的关系

    我正在对实体关系图进行建模并陷入困境 我不确定我的考虑是否错误 或者 ERD 无法模拟我想要的内容 我有三个实体 员工 项目和角色 员工和项目之间存在关系 员工正在从事项目 但该员工不仅仅在这个项目上工作 他 她还有一个作为角色指定的操作领
  • 带有外键的 Django 表单

    我有一个用户可以拥有多本书的场景 我可以为用户和书籍创建两个不同的模型 并使用外键将它们关联起来 或者一对多是正确的方式 我已经为用户模型创建了一个 django 表单 但是当我这样做时 form as p 在模板中 仅显示用户模型字段 而
  • 如何在android中将 2021-07-06T19:27:46.811+0530 格式转换为 d MMM yyyy, hh:mm aaa 这种格式

    2021 07 06T19 27 46 811 0530 gt 当前值作为字符串 我想转换为 05 07 2021 06 45 am 这种格式 提前致谢 Use java time import java time OffsetDateTi
  • 获取 PostgreSQL 中今天生日的所有条目

    我有以下查询 我需要实现一个需要发送给今天生日的所有客户的邮件程序 这种情况每天都会发生 现在我需要实现的只是使用 Postgres SQL 查询选择生日客户端 而不是在 PHP 中过滤它们 数据库中存储的日期格式为 YYYY MM DD
  • vb.net 向存储过程发送参数

    你好 这是我在 vb net 中使用 ms Visual Studio 2010 的第一个项目 我想创建一个可以将参数发送到 transact sql 数据库中的存储过程的类 我知道如何在 vb 6 中执行此操作 但我不会确定这是否是在这里
  • 为什么我应该使用 (y,x) 而不是 (x,y) 来访问 opencv 中的像素?

    我必须使用 openCV 访问图像中的像素 但一开始我无法访问 因为 python 告诉我我想要访问的值超出范围 然后我搜索了这个错误 我发现我应该使用访问像素image y x 代替image x y 我在这个页面的评论中找到了这条信息
  • 自定义 jquery ui 日期选择器

    是否可以完全定制jquery ui http jqueryui com home日期选择器以匹配您的网站主题 包括标题 按钮和图像的位置 如果可能的话 应该采取什么方法 该怎么办呢 我想 几乎 完全重新设计它 还有哪些其他可能的选择 我尝试
  • 未处理的 Win32 异常

    在运行时 当 myApp exe 崩溃时 我收到 未处理的 Win32 异常 但我如何知道发生了哪个异常 哪里出了问题 对于 Native C 应用程序 请参阅我之前的回答 在 Windows 上检测 重定向核心转储 当软件崩溃时 http
  • 无法使用“PhpParser\Node\Scalar\String”作为类名,因为它是保留的

    当我使用 Composer 安装 Laravel 5 时 出现以下错误 无法按原样使用 PhpParser Node Scalar String 作为类名 保留在 Applications XAMPP xamppfiles htdocs l
  • ggplot2 在函数 R 内时似乎不起作用 [重复]

    这个问题在这里已经有答案了 我对 R 有点陌生 我一直在尝试将 R 脚本包装为函数 以便我可以从 Rserve 调用它 有谁知道为什么 ggplot2 不能在函数内部工作但在函数外部却工作得很好 png polarity png ggplo
  • 围绕其中心点旋转 UIImageView?

    我在 UIImageView 中有一个透明的 png self myImage 我想绕其中心点旋转 代码应该非常简单 self myImage layer setAnchorPoint CGPointMake 0 5 0 5 UIView
  • 在 Win64 下将 SOCKET 转换为 int 安全吗?

    我正在开发 POSIX C 程序的 Windows 端口 问题是标准 POSIX 函数 如accept 或bind 期望 int 作为第一个参数 而其WinSock 对应函数则使用 SOCKET 当编译为 32 位时 一切都很好 因为两者都
  • 获取图像大小而不将图像加载到内存中

    据我所知 您可以通过以下方式使用 PIL 获取图像大小 from PIL import Image im Image open image filename width height im size 但是 我想获取图像的宽度和高度witho
  • 使用 GStreamer 将视频转换为 WebM

    文档用于GStreamer令人困惑 这仍然不是诉诸的借口StackOverflow com 但仍然 是什么GStreamer命令行将任何视频文件 任何格式 转换为 WebM WebM 音频 这是我能找到的唯一带有示例的文档 http gst
  • 使用随机字段解析 JSON (java)

    我想转换一个JSON文件到一个CSV file My JSON文件来自DataBase存储在Firebase并且有这样的结构 PATIENT LbhwHC7Y6 umc age 31 name Phoebe LbhwTFJ6xjEf age
  • 更改 PHP 文件上传的默认临时目录

    我正在本地制作一个网站 允许上传 pdf 文件 当这些文件在本地上传时 它们会转到C xampp tmp但是当我在大学服务器上托管该网站时 我无权访问临时目录 有什么方法可以更改文件的默认临时位置吗 提前致谢 戴夫 可以使用以下命令配置上传
  • 使用 GtkAda 发出信号

    我担心的是我创建了一个回调函数 它应该显示Gtk Entry当我们点击Gtk Button但当我点击按钮时什么也没有发生 我不明白 File ads Package Test is Type T Test is record Contene
  • 在 EasyPHP{WAMP} 中设置 root 密码后无法从 phpMyAdmin 访问 MySQL

    首次启动 MySQL 成功设置后 出于安全原因 页面提示我设置 ROOT 密码 设置密码后 我无法再访问 MySQL 错误是 1045 Access denied for user root localhost using password
  • Asift 和 openCV?

    opencv 允许使用 ASIFT 吗 http www ipol im pub algo my affine sift http www ipol im pub algo my affine sift 作者发布了c 所以我相信将其实现到o
  • 弹性框文本项溢出

    谁能解释一下为什么包含文本的列的宽度没有正确计算以完全包含每列中的文本 在 Firefox 和 Chrome 上 第一列和第三列中的文本不适合这些框 但令人惊讶的是 这些框在 IE 11 中的大小正确 这是浏览器错误吗 box displa