使用 Flexbox 的全宽和多列

2023-11-25

我正在尝试创建一个flexbox同一容器上有全角行和多列。

我试过了flex-break: after;但不确定我错过了什么。我试图避免有多个类,例如.fullwidth and .multiple-columns.

这就是我想要实现的目标:

------------------------
|                      |
|                      |
|       item A         |
|                      |
|                      |
------------------------
|          |           |
|          |           |
|     B    |      C    |
|          |           |
|          |           |
------------------------
|                      |
|                      |
|       item D         |
|                      |
|                      |
------------------------

.collage {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.fullwidth {
  flex-break: after;
}
.collage-item {
  width: 100%;
  height: 25vw;
  background: url("https://www.audi.co.uk/content/dam/audi/production/Models/NewModelsgallery/A5range/A5_Coupe/MY17/1920x1080_A5-Coupe-2016-side.jpg") no-repeat;
  background-size: cover;
}
.btn {
  position: absolute;
  border: 2px solid white;
  padding: 10px 18px;
  text-align: center;
  right: 8px;
  bottom: 8px;
  color: white;
  text-decoration: none;
}
<div class="collage">
  <!-- fullwidth -->
  <div class="collage-item fullwidth"></div>

  <!-- two columns -->
  <div class="collage-item"></div>
  <div class="collage-item"></div>

  <!-- fullwidth -->
  <div class="collage-item fullwidth"></div>
  <div class="btn">Button</div>
</div>

https://jsfiddle.net/brunodd/ja6820vu/1/


你需要设置flex-wrap: wrap在弹性容器上,然后flex: 0 0 100%在全角项目上和flex: 0 0 50%在半角项目上。你还应该添加box-sizing: border-box.

* {
  box-sizing: border-box;
}
.collage {
  display: flex;
  flex-wrap: wrap;
}
.collage-item {
  border: 1px solid black;
  flex: 0 0 50%;
  padding: 10px;
}
.fullwidth {
  flex: 0 0 100%;
}
<div class="collage">
  <!-- fullwidth -->
  <div class="collage-item fullwidth">a</div>

  <!-- two columns -->
  <div class="collage-item">b</div>
  <div class="collage-item">c</div>

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

使用 Flexbox 的全宽和多列 的相关文章

  • rgb() 和 rgba() 不透明度有什么区别?

    我发现另一个关于 rgb 与 rgba 的问题非常相似 但它缺少关于使用的答案RGB 不透明度 我知道两者之间的区别 rgba 只是 rgb 但带有 alpha 不透明度 问题是 我使用带有不透明度值的 RGB 已经有几个月甚至几年了 它一
  • 带有图像垂直对齐的内联框:与父框居中

    请运行演示 margin 0 padding 0 body font family Microsoft Yahei font size 16px background color lightblue height 200px width 2
  • 添加额外的字形到引导程序

    亲爱的设计师 开发人员同事 我为我的 bootstrap 网站创建了 8 个额外的字形图标 将它们上传到 icomoon 并下载为字体 这一切都很完美 我可以将我的字体添加到我的 CSS 中并在 HTML 中使用它 没有任何问题 但我想使用
  • 使用 Javascript/jQuery 和 CSS 更改 PNG 颜色

    我有一个黑色的心 PNG http 1 bp blogspot com yq ZSKg39Tk TOvzVx9sC5I AAAAAAAAAb0 GcN4O Ciq3s s1600 black heart png我想用不同的颜色显示 如何使用
  • 浏览器特定的 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
  • scrapy获取同一个类的第n个子文本

    我附上了一张照片 我面临的问题是获取同一类的第一个元素 我想得到 adxHeader gt adxExtraInfo 1st one gt adxExtraInfoPart 1st one gt a text 我编写了以下代码但不起作用 任
  • 如何在 flutter/dart 中使用设定大小的自定义字体?

    我正在尝试使用color fontWeight and fontFamily with style style copyWith 我尝试使用的自定义字体是Vonique 我已经将它像这样导入到pubspec yaml fonts famil
  • CSS flexbox 内的 Angular CDK 拖放问题

    我在使用 Angular CDK 中的拖放模块时遇到了问题 我在容器 div 中使用它 该容器具有 除其他外 以下 CSS 属性 display flex flex wrap wrap The flex wrap属性在这里 以便如果包含的可
  • 转换 SVG 过滤器

    我正在尝试创建一个像 SVG 圆圈上的阴影这样的材质设计 我希望当您单击圆圈时 这个阴影能够以良好的过渡来增长 但目前我正在努力弄清楚是否可以为这种过渡设置动画 所以我希望有人能够提供帮助 我添加了一个到目前为止所得到的小例子 一个带有阴影
  • 在CSS中,有什么比使其成为块元素更好的强制元素换行的方法呢?

    我有一个 H3 标题 我想将其样式设置为具有特定的背景颜色 但不让元素的背景占据父元素的整个宽度 鉴于 H3 默认情况下是块元素 我的样式需要将该元素更改为内联块元素 或者只是内联内联元素 如下所示 h3 background color
  • 使用百分比 (%) 时如何计算填充?

    为什么本例中的内边距不等于 300 像素 Test width 600px padding right 50 box sizing border box background ddd div TEXT ETISI DHOASIHD I SA
  • Sass 负变量值?

    我有几个 scss 选择器 其中我使用相同数量的正数和负数 如下所示 padding 0 15px 15px margin 0 15px 20px 15px 我更喜欢对所有 15px 量使用一个变量 但这不起作用 pad 15px padd
  • 在 SVG 中设置悬停语句样式

    我正在计划一个基于这个 SVG 插图的网络 菜单 我的想法的原则 一个样式为活动的圆圈 一个样式为悬停的圆圈以及一个也需要设置样式的伴随笔画 https i stack imgur com H397o png 当我阅读 SVG 文件的规范时
  • jQuery能否获取未绘制的动态元素的大小

    我的意思是如果我用 jQuery 和 DOM 创建一个 Element var MainHolder document createElement div addClass box 如果我打电话MainHolder width 如果不在窗口
  • 如何使用 HTML CSS JS 创建滑块/切换来更改屏幕上的字体大小 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 is there any way I can make this gt 所以我想制作一个滑块 切换器 用户可以拖动 滑动它来改变不同的
  • 如何在 jQuery 中使用 CSS“background-image”属性添加的图像上绑定单击事件

    这是我的小提琴link http jsbin com otisur 1 edit 我想我的问题通过标题本身就很清楚了 尽管如此 我正在寻找一种绑定的方法click使用 css 添加的图像上的事件background image财产 我知道
  • 如何使用javascript隐藏div

    我想使用 Javascript 隐藏一个 div 下面是我的div div class ui dialog titlebar ui widget header ui corner all ui helper clearfix span cl
  • .net dropdownlist对齐文本

    我正在尝试将 net 下拉列表中的文本向右对齐 使用 CssClass 我可以在 Firefox 中将文本向右对齐 IE 不会将文本右对齐 而是左对齐 我读到 IE 6 不支持这个 这是真的 我使用的是 IE7 但我的大多数用户将使用 IE
  • 如何反转媒体查询中元素的顺序?

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

随机推荐