Safari:flexbox 和最小高度

2024-03-08

我需要一个带有 Flexbox 子项的滚动 Flexbox 容器。容器有一个(由 flexbox )定义的高度,子级应该和它们的内容一样高。

这在 Safari 中效果很好,在 Safari 中,子级不会超出容器的高度。实际上,Safari 中的行为与孩子们在 Safari 中的行为完全相同min-height: 0,但他们没有。显式设置min-height: auto没有帮助。

div {
  background-color: rgba(0,0,0,.1);
  box-sizing: border-box;
  margin: 4px;
  padding: 4px;
}

.fixed {
  height: 100%;
  left: 0;
  max-height: 400px;
  position: fixed;
  top: 0;
  width: 100%;
}

.flex {
  display: flex;
  flex-direction: column;
  /* Safari behaves like min-height: 0; */
}

.full {
  flex: 1;
  overflow-y: auto;
}

.big {
  font-size: 200px;
  line-height: 1;
  margin: 0;
}
<div class="fixed">
  <div class="flex" style="height: 100%">
    <div>
      A
    </div>
    <div class="flex full">
      <div class="flex">
        B_1
      </div>
      <div class="flex">
        <p class="big">B_2</p>
      </div>
      <div class="flex">
        <p class="big">B_3</p>
      </div>
    </div>
    <div>
      C
    </div>
  </div>
</div>

我找不到 Safari 最近记录的任何 Flexbox 错误,但对我来说这看起来像是一个。我在 MacOS (Catalina) 上的 Safari 13 以及 iOS 12 上的 Safari 和 Chrome 中遇到了这个问题。

他们是否仅使用 CSS 方法来解决或解决此问题?


我不知道为什么,但是min-height: fit-content它按预期工作:

div {
  background-color: rgba(0, 0, 0, .1);
  box-sizing: border-box;
  margin: 4px;
  padding: 4px;
}

.fixed {
  height: 100%;
  left: 0;
  max-height: 400px;
  position: fixed;
  top: 0;
  width: 100%;
}

.flex {
  display: flex;
  flex-direction: column;
  /* Safari behaves like min-height: 0; */
}

.full {
  flex: 1;
  overflow-y: auto;
}

.big {
  font-size: 200px;
  line-height: 1;
  margin: 0;
}

.min-fit {
  min-height: fit-content;
}
<div class="fixed">
  <div class="flex" style="height: 100%">
    <div>
      A
    </div>
    <div class="flex full">
      <div class="flex min-fit">
        B_1
      </div>
      <div class="flex min-fit">
        <p class="big">B_2</p>
      </div>
      <div class="flex min-fit">
        <p class="big">B_3</p>
      </div>
    </div>
    <div>
      C
    </div>
  </div>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Safari:flexbox 和最小高度 的相关文章

  • 有没有办法编写屏幕阅读器会忽略的内容?

    我刚刚开发了一个需要视力正常和视障用户都可以访问的页面 内容的某些元素仅与视觉元素相关 因此根本不适用于使用屏幕阅读器的人 例如 链接在新窗口中打开视听演示文稿 但由于我无法控制的情况 窗口的大小被笨拙地调整 因此有一条消息说您应该调整窗口
  • 自动调整Google网站嵌入代码的高度(html)

    我正在使用 Google 协作平台嵌入 HTML 代码 将代码粘贴到 从网络嵌入 窗口中 输出的长度是可变的 我希望有一种方法可以动态调整父级的高度iframeGoogle 协作平台用于托管我的 HTML 我知道我可以使用 Google 协
  • 如何在 font Awesome 图标链接下方添加添加文本?

    我正在尝试在我的 Blogger 模板中的 font awesome Icons 下添加一些文本 这是我想要实现的目标的图像 我想要实现的外观图片 https i stack imgur com BVYlh png 但到目前为止我已经做到了
  • 如何仅在 css/html 中强制在单词之间换行?

    我只有一段普通的文本 p 标签内的 p div 标签 但只有 Firefox 可以正确显示 Firefox 打破了单词之间的界限 所有其他浏览器都会在单词中间断行 这使得阅读变得困难 这是我的意思的一个例子 火狐浏览器 工作中 This w
  • Firefox Placeholder Before CSS 选择器不起作用

    我使用的是最新的firefox 30 0 我正在尝试在必填字段的占位符之前插入红色字体真棒星号 我在 Chrome 中工作没问题 但我在 FF 和 上遇到问题 这是一个说明我的问题的代码笔 http codepen io anon pen
  • 当百分比填充定义元素高度时忽略 max-height

    The max height当内部填充大于最大高度值时 属性值似乎被忽略 例如 在元素上设置此类会导致最大高度被忽略 max height ignored height 0 or auto makes no difference max h
  • 引导行之间的垂直间距

    所以我正在研究布局 为了 响应能力 我决定使用 Bootstrap 现在我猜网格系统有问题 我想要的结果如下 1 4 2
  • 使用@font-face时浏览器下载什么字体

    font face 有点令人困惑 因为所有浏览器都无法决定使用哪种文件格式 下面是我目前正在使用的向网站添加 1 个新字体的方法 您可以看到有 4 个单独的字体文件 我知道每个文件都是因为某些浏览器支持不同的格式 但浏览器是下载所有文件还是
  • 如何使用 jQuery 或 JavaScript 聚焦 或 标签?

    for var i 0 i
  • 如何从 bootstrap-markdown.js 调用 .getContent 和 .parseContent

    我是使用 Bootstrap 插件的新手 刚刚通过代码学院 http www codecademy com en skills make an interactive website 我真的很想用这个很棒的引导 Markdown 插件 ht
  • 使用绝对定位时文本被破坏

    我有一个小挑战 我在 Stack Overflow 上没有找到任何解决方案 这就是我得到的 这就是我想要的 为了产生这个标题效果 我使用绝对位置 我什至不知道我的标题的宽度和高度 因此 使用此解决方案时 大文本会中断 My HTML div
  • Internet Explorer 中的锯齿状按钮边缘

    如何去除 Internet Explorer 中宽按钮的锯齿状边缘 例如 您还可以通过设置来消除 Windows XP 的按钮样式 以及 Windows 的所有其他版本 background color and or border colo
  • 如何处理 Django 中的错误

    我想让我的 django 应用程序尽可能对用户友好 并且我想处理适当的错误并让它推出类似于 javascript 中的警报的错误消息 我想在没有上传文件时执行此操作 因此 当按下上传按钮并且尚未上传任何内容时 将会发出一条警报消息 我的看法
  • 水平滚动的表格上的“粘性”标题......完全不可能?

    经过过去几个小时的研究后 我开始认为这是不可能的 即使在最新的浏览器上也是如此 HTML table具有水平滚动的元素 带有 粘性 thead在顶部 作为垂直滚动的周围网页的一部分 这是我的尝试 a height 100px backgro
  • 为什么此 TTF 字体在我的浏览器中无法使用?

    我下载了一种名为 Clunk 的 TTF 字体 并尝试将其应用于某些文本 这是我正在使用的代码 h1 Test h1 这似乎不起作用 Chrome 给了我两个错误 Failed to decode downloaded font path
  • 使用 CSS 网格布局使网格项内的元素高度相等

    我在长度超过 4 的 div 中有一系列文章 没有任何舍入行标签 我需要将其表示为每行 3 篇文章 列 的表格 可能包含display grid 每篇文章都有页眉 章节和页脚 如何在每行文章内实现每个标题的等高 每个部分的等高以及与文章底部
  • 内嵌显示定义术语和描述

    我正在为页面上的某些元素使用定义列表 并需要它们内联显示 例如 它们normally看起来像 我需要它们看起来像 注意多个 DD 我可以让它们在 moz 中使用 float 来正常工作 但无论我尝试什么 它们都无法在 IE 中工作 我通常会
  • 如何垂直对齐div内的图像

    如何在包含的内容中对齐图像div Example 在我的示例中 我需要将 img in the div with class frame div class frame style height 25px img src http jsfi
  • ng-include 和 ng-view 不同时加载

    下面是我的应用程序的结构 很简单 页眉和页脚是非常小的文件 而主页上的 ng view 要大得多 当我进入该页面时 我注意到了这一点 首先加载两个 ng include 然后 ng view 出现 页脚被推到底部 页脚闪烁大约 0 1 秒
  • 为什么使用 iPhone 或 iOS 设备在“iframe”中查看“position:fixed”时不起作用?

    我研究过 stackoverflow 似乎position fixed在 iOS 移动设备的 iframe 中 https stackoverflow com questions 15874910 position fixed and if

随机推荐

  • 在 ionic 框架中显示连接错误消息

    我正在开发一个离子移动应用程序 但很难显示连接错误消息 当设备未连接到互联网或连接超时或其他情况时 我想显示一个弹出窗口来显示错误消息 这是我第一次遇到这样的事情 首先将插件添加到您的项目中 然后在你的 app js 中包含以下代码 js
  • 如何访问可重用组件内的 ngModel 元素

    我的可重用组件中有一个 ngModel 组件 该字段不是表单的一部分 我想访问它来进行一些更改 我尝试了下面的代码 但它在 OnInit 中未定义 你能告诉我如何访问它吗 下面的代码返回未定义 ViewChild nameAccessor
  • Android 证书已过期

    目前 我在签署我的应用程序时收到一条错误消息 指出证书已过期 不是调试证书 我知道这令人惊讶 因为 Android 证书应该可用很多年 我无法创建新证书 因为在 PlayStore 上更新我的 apk 时出现错误 apk 的证书必须与前一个
  • Excel SpillParent 和 SpillingToRange 难度

    我正在尝试使用 SpillParent and SpillingToRange在某些 UDF 中的 Excel 中的 Range 对象上 当该范围不在调用 UDF 的同一工作表上时 会出现意外行为 我知道如果我使用 溢出运算符 我不需要这样
  • `npm install` 在 node-gyp 重建上失败,并显示“gyp:未检测到 Xcode 或 CLT 版本!”

    每次我尝试npm install 我收到以下错误 我如何解决它 gyp No Xcode or CLT version detected I am on node v v8 8 0 npm v v6 11 3 我尝试在 VSCode 终端和
  • sbt - 对象 apache 不是包组织的成员

    我想使用 sbt 部署并提交 Spark 程序 但它抛出错误 Code package in goai spark import org apache spark SparkContext SparkConf object SparkMeA
  • Laravel 中添加路由名称前缀而不添加 URI 前缀

    我有两个命名空间 Front and Admin For Admin 名称空间 可以将所有路径添加为前缀admin conrtoller action 但对于 Front 我想要有前缀的路由名称而不带前缀 URI Route group a
  • Facebook API - 权限错误

    有人知道 Facebook API 错误的原因是什么吗 当用户通过 feed 调用发帖时 有时会出现这种情况 error message Permissions error type FacebookApiException code 20
  • 如何限制激励视频广告长度 (admob)?

    我的应用程序使用激励视频广告 但在我看来 有时广告太长 如何设置广告时长限制 这不是 AdMob 提供的功能 不过 感觉太长的广告通常会收到较少的点击次数 因此随着系统的调整 显示的频率会越来越低
  • Nhibernate 对 select 进行更新?

    我有以下课程 public class Product public virtual Guid Id get set public virtual string Name get set public virtual Decimal Pri
  • java.lang.IllegalStateException:保存状态失败:活动已清除片段中的索引

    首先 我的应用程序的结构如下 SpashActivity gt MainActivity gt switching between many fragments 我的应用程序使用幻灯片菜单 https github com jfeinste
  • 将 Numpy 数组“转换”为 Matlab,反之亦然

    我正在寻找一种将 NumPy 数组传递给 Matlab 的方法 我已经成功地通过使用将数组存储到图像中来做到这一点scipy misc imsave然后使用加载它imread 但这当然会导致矩阵包含 0 到 256 之间的值 而不是 真实
  • 向用户报告进度时如何编写最简洁的代码?

    在过去的几个月里 我一直在努力想出一些干净的代码来向用户报告进度 一切似乎总是归结为 ReportProgress Starting Task 1 doTask1 ReportProgress Task 1 is done ReportPr
  • WPF DataGrid 控件模板

    我正在尝试自定义 WPF 4 0 DataGrid 并需要其控件模板的列表 也是嵌套 DataGridColumnHeadersPresenter PART ColumnHeadersPresenter 的控件模板 我发现this http
  • php pdo 绑定参数不起作用[重复]

    这个问题在这里已经有答案了 我正在使用以下 php pdo 代码将数据插入 mysql 数据库 插入成功 但是 更新的数据库将字符串文字 a b 显示为各自字段中的值 怎么了 data array array a gt John b gt
  • 使用谷歌移动视觉 API 检测第一个条形码并将数据发送到另一个活动

    您好 我在 github 上检查了来自 google 的条形码阅读器示例 我试图让条形码检测器检测第一个条形码 只有一个 当它检测到时 它将解码的条形码发送到另一个活动 Mabye 我错了 但我需要输入这段代码 BarcodeGraphic
  • onConnectionFailed 给出 SIGN_IN_REQUIRED(4)

    我正在开发一个 Android 应用程序 我想在其中使用 Google API 为此我导入了谷歌播放服务库项目 我正在关注这个link https developers google com mobile android getting s
  • 将 string 转换为 unsigned int 返回错误的结果

    我有以下字符串 sThis 2154910440 unsigned int iStart atoi sThis c str 然而结果是 iStart 2147483647 有人看到我的错误吗 atoi将字符串转换为int 在您的系统上 in
  • 在 Windows 10 上的 WSL 终端中禁用蜂鸣声 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何在 Windows 10 上的 WSL 中禁用视觉和音频铃声 蜂鸣声 禁用蜂鸣声bash您需要取消注释 或添加 如果尚未存在 该行se
  • Safari:flexbox 和最小高度

    我需要一个带有 Flexbox 子项的滚动 Flexbox 容器 容器有一个 由 flexbox 定义的高度 子级应该和它们的内容一样高 这在 Safari 中效果很好 在 Safari 中 子级不会超出容器的高度 实际上 Safari 中