当前位置: 首页 > 面试题库 >

伸缩框:伸缩方向:列,伸缩包装:换行时宽度计算错误

游鸣
2023-03-14
问题内容

使用flexbox时遇到问题。

我正在使用容器flex-direction: column; flex-wrap: wrap,因此我的内部项目实际上可以放在多列中。

问题是浏览器仍将容器的宽度计算 为内部项目宽度的总和

我的容器块应具有较小的宽度(基于内容大小),但实际上很大。

无论如何,使用列而不是行时以这种方式计算容器的宽度也是非常不自然的。

看看我的代码中的绿色块。它具有巨大的优势,但事实并非如此。另外,当您从容器中取出物品时,它会变小。

我期望容器的宽度较小,因此不会占用超过可用空间的一半。

在最新的Safari和最新的OS X上选中此选项。

.container {

  display: flex;

  flex-wrap: wrap;

  flex-direction: column;

  background: #aa0000;

  height: 100px;

}

.group {

  display: flex;

  flex-wrap: wrap;

  flex-direction: column;

  align-content: flex-start;

}

.g1 {

  background: #00aa00;

}

.g2 {

  background: #0000aa;

}


<div class="container">

  <div class="group g1">

    <div class="item">Item</div>

    <div class="item">Item</div>

    <div class="item">Item</div>

    <div class="item">Item</div>

    <div class="item">Item</div>

    <div class="item">Item</div>

    <div class="item">Item</div>

  </div>

  <div class="group g2">

    <div class="item">Item</div>

  </div>

</div>

问题答案:

这似乎是“ 柔性盒布局”模块中涉及flex-direction:column和的另一个错误flex-wrap: wrap

浏览器似乎无处不在。

在这种特殊情况下,如[错误报告中所述:

在我看来,宽度的计算方式就像内部元素是水平(flex-direction: row)而不是垂直地布置。

在其他情况下,情况恰恰相反:

  • 当flexbox项目以列模式包装时,容器的宽度不会增加

在这两种情况下,当前都没有可解决此问题的flex方法。

对于这个特定问题,一个开发人员提供了一种CSS解决方法,但是我不确定它是否可以在所有浏览器中使用。除非您真的绝望,否则我不建议您这样做:

在某些情况下,您可以使用垂直书写模式来解决此问题。

也就是说flex-direction: column;,使用代替使用 flex-direction: row; writing-mode: vertical-lr;。记住writing-mode: initial;在flexbox的子代中重置为。



 类似资料:
  • 伸缩是对该应用所启动的pods数量进行一个控制。 同样进入应用的详情页页,在右上角找到“伸缩”按钮并点开。 在弹出来的对话框中选择启动的POD数量,如下图: 提交之后若数量大于之前的数量,则会启动缺少的POD数量,若小于之前的值,将会逐步减少应用的POD。 目前给的最大值是8个pod,资源可使用的内存是16G,若您的应用超过我们所设定的最大值。想办法优化吧,64核128G内存都不够用,这种级别的应

  • ScalingEntry SPI 名称 详细说明 ScalingEntry 弹性伸缩入口 已知实现类 详细说明 MySQLScalingEntry 基于 MySQL 的弹性伸缩入口 PostgreSQLScalingEntry 基于 PostgreSQL 的弹性伸缩入口

  • 背景 Apache ShardingSphere 提供了数据分片的能力,可以将数据分散到不同的数据库节点上,提升整体处理能力。 但对于使用单数据库运行的系统来说,如何安全简单地将数据迁移至水平分片的数据库上,一直以来都是一个迫切的需求; 同时,对于已经使用了 Apache ShardingSphere 的用户来说,随着业务规模的快速变化,也可能需要对现有的分片集群进行弹性扩容或缩容。 简介 Sha

  • 弹性伸缩组即根据业务需求和策略设置伸缩策略,实现虚拟机弹性扩容和收缩的功能。 弹性伸缩组即根据业务需求和策略设置伸缩策略,实现虚拟机弹性扩容和收缩的功能。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “主机/主机/弹性伸缩组” 菜单项,进入弹性伸缩组页面。 使用流程 在主机模板页面中创建用于弹性伸缩组的主机模板,目前仅支持 云联壹云 和Azure平台的主机模板。 在弹性伸缩组页面

  • 我有500MB的数据要推送到云搜索。 以下是我尝试过的选项: 直接从控制台上传: 试图上传文件时,有5 MB的限制。 然后将文件上传到S3并选择S3选项, 上传到S3并在控制台中给出S3 url: 失败并要求尝试命令行。 尝试使用命令行 aws cloudsearchdomain上载文档--endpointurlhttp://endpoint--内容类型application/json--文档s3

  • 弹性布局赋予弹性项目可伸缩性,可以改变其宽度/高度,以填充可用空间。这通过设置flex属性来实现。 下面这个例子演示flex: auto属性值的效果。除了给每个弹性项目添加了flex: auto外,其余和上一章节中的例子一样。 第一行有60px的剩余空间,而所有项目具有相同的伸缩性(Flexibility),所以第一行的3个项目将平均分配剩余的空间,也就是获得20px的额外宽度, 这样最终是占据1