将弹性项目固定到容器的底部

2024-01-12

我有 4 个带有标题、描述和按钮的块。

我希望标题和描述保持在顶部对齐,按钮保持在底部对齐,无论描述或标题有多长。

我还需要保持相同的 HTML 结构。

我实际需要的示例图片:

有人能弄清楚吗?到目前为止我还没有在互联网上找到修复方法。

/* FLEXBOX RELATED */
.grid {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
}
.block {
  flex: 0 24%;
  display: flex;
}
.container {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
}
.title {
  flex: 0 100%;
}
.desc {
  flex: 0 100%;
}
.button {
  flex: 0 100%;
  align-self: flex-end;
}


/* NO FLEXBOX RELATED */
.block {
  background-color: #ccc;
}
.title {
  font-size: 2rem;
  font-weight: bold;
  padding: 0.5rem;
  text-align: center;
}
.desc {
  background-color: grey;
  padding: 0.5rem;
}
.button {
  padding: 0.5rem;
  color: blue;
  text-align: center;
  font-weight: bold;
}
<div class="grid">
  <div class="block">
    <div class="container">
      <div class="title">Title 1</div>
      <div class="desc">Description Description Description Description Description Description Description Description Description Description</div>
      <div class="button">Button</div>
    </div>
  </div>
  <div class="block">
    <div class="container">
      <div class="title">Title 2</div>
      <div class="desc">Description Description Description Description Description Description Description Description Description Description Description Description Description Description Description Description Description Description Description Description</div>
      <div class="button">Button</div>
    </div>
  </div>
  <div class="block">
    <div class="container">
      <div class="title">Title 3</div>
      <div class="desc">Description Description Description Description Description Description Description Description Description Description Description Description Description Description Description</div>
      <div class="button">Button</div>
    </div>
  </div>
  <div class="block">
    <div class="container">
      <div class="title">Title 4</div>
      <div class="desc">Description Description Description Description Description Description Description Description Description Description</div>
      <div class="button">Button</div>
    </div>
  </div>
</div>

codepen代码在这里 https://codepen.io/nicutor/pen/KvWdJX


由于您正在使用行方向弹性容器,因此不可能将最后一个项目固定到底部。你正在处理交叉轴空间分布,这意味着伸缩线要么被拉伸,要么被压缩,并且无法将两个项目固定在顶部,一个固定在底部(除非您超越 Flexbox 并使用绝对定位)。

这是完整的解释。

  • flex-wrap 如何与align-self、align-items 和align-content 配合使用? https://stackoverflow.com/q/42613359/3597276

使布局工作的一个简单而有效的方法是在最后一项上使用弹性自动边距的列方向容器。通过将您的物品对齐主轴您可以将单个物品分开。

以下是 Flex 自动边距的解释:

  • 在CSS Flexbox中,为什么没有“justify-items”和“justify-self”属性? https://stackoverflow.com/q/32551291/3597276
/* FLEXBOX RELATED */
.grid {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
}
.block {
  flex: 0 24%;
  display: flex;
}
.container {
  display: flex;
  flex-direction: column; /* new */
  /* flex-flow: row wrap; */
  /* align-items: flex-start; */
}
.title {
  /* flex: 0 100%; */
}
.desc {
  /* flex: 0 100%; */
}
.button {
  margin-top: auto; /* new */
  /* flex: 0 100%; */
  /* align-self: flex-end; */
}


/* NO FLEXBOX RELATED */
.block {
  background-color: #ccc;
}
.title {
  font-size: 2rem;
  font-weight: bold;
  padding: 0.5rem;
  text-align: center;
}
.desc {
  background-color: grey;
  padding: 0.5rem;
}
.button {
  padding: 0.5rem;
  color: blue;
  text-align: center;
  font-weight: bold;
}
<div class="grid">
  <div class="block">
    <div class="container">
      <div class="title">Title 1</div>
      <div class="desc">Description Description Description Description Description Description Description Description Description Description</div>
      <div class="button">Button</div>
    </div>
  </div>
  <div class="block">
    <div class="container">
      <div class="title">Title 2</div>
      <div class="desc">Description Description Description Description Description Description Description Description Description Description Description Description Description Description Description Description Description Description Description Description</div>
      <div class="button">Button</div>
    </div>
  </div>
  <div class="block">
    <div class="container">
      <div class="title">Title 3</div>
      <div class="desc">Description Description Description Description Description Description Description Description Description Description Description Description Description Description Description</div>
      <div class="button">Button</div>
    </div>
  </div>
  <div class="block">
    <div class="container">
      <div class="title">Title 4</div>
      <div class="desc">Description Description Description Description Description Description Description Description Description Description</div>
      <div class="button">Button</div>
    </div>
  </div>
</div>

修改后的代码笔 https://codepen.io/anon/pen/EvWyLp

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

将弹性项目固定到容器的底部 的相关文章

  • 如何在node.js中使用express框架提供图像文件?

    在我的应用程序中 我使用 Express 框架来服务客户端文件 但是在为 html 元素提供背景图像时 它显示无法加载给定的 url var express require express http require http var app
  • webglcontextcreationerror事件:是否同步触发?

    Is the webglcontextcreationerror 事件 https developer mozilla org en US docs Web Events webglcontextcreationerror同步触发还是异步触
  • Bootstrap 3.0:全宽彩色背景,中心紧凑列

    我想要制作一个条纹商业主题 类似于 W3Schools 创建的主题 主题可以找到here http www w3schools com bootstrap bootstrap theme company asp 它的特点是水平部分 由不同的
  • 在 html 中显示表单时使用 table 标签是不是不好的设计?

    我一直听到这样的话div标签应该用于布局目的 而不是table标签 那么这也适用于表单布局吗 我知道表单布局仍然是一个布局 但似乎使用以下命令创建表单布局divs 需要更多html and css 因此 考虑到这一点 表单布局应该使用div
  • 仅使用 HTML 正确填充电子邮件

    对于作业 我需要放置一个form在我的网页中 并让表单填充一封电子邮件供用户发送 我在四处搜寻后写下了这个
  • 如何在iframe中插入html

    大家好 我需要在 iframe 中插入一个 html 字符串 如下所示 var html p body p jQuery popolaIframe click function parent indexIframe 0 documentEl
  • 非常基本的 JS 编码,是否有 SoundManager2?

    我想在我的网站上包含一个具有以下属性的音频 可能的视频播放器 必须可通过 div 通过 CSS 设计样式 可以读取所有ID3信息 可以从数据库中提取文件 可能是 GoDaddy 的 Easy Database 无闪光 可转移至智能手机等 我
  • 使 bootstrap popover 使用自定义 html 模板

    我正在使用输入组文本框 我需要 Bootstrap 3 弹出框才能工作 并且弹出框模板应由我定义和设计 所以我目前拥有的 html 是 div class row div class col sm 2 div class input gro
  • 编写XSL对xml数据执行一些操作

    如何在 products xsl 正文中编写 xsl 以获取数量 gt 10 的产品名称和状况 产品 xml
  • MUI 组件上的渐变边框

    我没能找到相当于border image source css 我的目标是在按钮组件上渲染边框渐变 这是添加渐变边框的方法button成分 V5 const options shouldForwardProp prop gt prop gr
  • 方向改变后的javascript最大视口高度Android和iOS

    目标 查找设备的最大视口高度 包括设备的空间address bar这样我们就可以动态调整 min body 的大小并将内容向上推 问题 移动浏览器处理方向状态的方式不同 方向变化时更新 DOM 属性的方式也不同 使用 JavaScript
  • Ionic - 使用 item-avatar 类在项目列表中垂直居中文本

    我尝试将离子列表添加到我的应用程序中 其中项目构建如 Image Text Button 图像和按钮垂直居中 但文本没有 我尝试了一些在互联网上找到的CCS 它在浏览器预览中运行良好 但在真实设备上 Samsung Galaxy S3 Mi
  • 粉碎一个元素,向随机方向发送碎片

    我试图 粉碎 一个元素 例如 一个图像 并将其碎片朝随机方向飞行 当碎片到达目的地时 即x距离 以像素为单位 它们变成原始图像的较小版本 jQuery UI 的explode http api jqueryui com explode ef
  • 如何更改点击事件上的引导插入符指向方向

    我正在使用 2 3 2 引导程序 因为当我单击菜单按钮时 我可以更改插入符号图标的位置 我需要当我单击图标插入符号向上时 当您单击另一个项目时 插入符号返回到初始状态 这怎么可能 导航代码 div div class container d
  • jQuery Masonry 和 CSS3

    如何在保持砖石布局的同时将 CSS3 过渡与当前图像结合起来 这是我的html div img class bottom src images div
  • 使用 htaccess 重写规则重定向后 CSS 未加载

    我有以下用户个人资料网址的简写 RewriteRule w profile php name of user 1 当我这样做时 该网站使用适当的 css 文件进行样式设置site com name of user 但当我这样做的时候却不是s
  • 如何从 HTML 中的列数据而不是行数据创建表格?

    根据这篇文章W3学校 http www w3schools com html html tables asp 可以像这样在 HTML 中创建一个基本表格 table border 1 tr td row 1 cell 1 td td row
  • 用于生成多色文本的 jQuery 插件,该文本可在悬停时改变颜色

    我想为各种链接生成多色文本 并从预先指定的颜色数组中为各个字母随机分配颜色 当将鼠标悬停在带有文本的 div 上时 颜色会发生变化 我正在考虑一个 jQuery 插件 脚本将是可行的方法 我想知道是否存在这样的插件或近似插件 Thanks
  • 手机上的网页滚动条可以隐藏吗?

    我正在尝试在移动设备上隐藏滚动条 一切在桌面上看起来都很好 没有滚动条 但是当我检查某些 Android 设备 ipad 时 我仍然可以看到灰色 细小的拇指 可以从浏览器中隐藏预定义的滚动条 我的代码 在桌面上运行良好 body webki
  • Bootstrap - 为反向行模式创建移动自适应

    我想用 Bootstrap 创建一个反向效果 第一行 左边是文字 右边是图像 第二行 左边是图片 右边是文字 第三行 左边是文字 右边是图片 第四行 左边是图片 右边是文字 而且这种情况一直持续下去 它在大型设备上看起来非常漂亮 但当它在设

随机推荐

  • 如何强制 cmake 使用没有完整路径的 cl.exe?

    我正在构建一个使用 CMake 的开源项目 kst v2 0 8 我使用 CMake v2 8 12 2 和 MSVC 2008 作为编译器 并生成 NMake makefile 以在命令行上构建它 我可以通过此设置成功构建它 这些版本是强
  • 自修改代码的用例?

    On a 冯 诺依曼架构 http en wikipedia org wiki Von Neumann architecture 程序和数据都存储在内存中 因此程序可以自行修改 这对程序员有用吗 你能举一些例子吗 变质 我想到的一个 有问题
  • ChartJS 轴刻度回调函数中的条件未返回预期的标签

    我有一个包含一年中每一天数据的图表 我想将 x 轴简单地显示为月份 我设置了以下回调函数 它 粗略地 从标签集中获取月份 检查它是否已经存在 如果不存在 则将其作为轴标签返回 let rollingLabel function label
  • 创建一个触发器,在更新列时将值插入到新表中

    我一直在此处查看有关触发器的一些先前答案 但找不到我确切需要的内容 但我确信我的问题之前已被提出 回答过 我正在尝试跟踪表 1 中的列和列的任何更改 如果此值发生变化 我想通过将现有值和新值插入到带有日期的不同表中来跟踪这些值 我一直在考虑
  • C# 更改文本框中一个字符的颜色

    C WPF 如何仅更改文本框中一个字符的颜色 示例 Word Hello H 的颜色变为红色 您不能使用文本框执行此操作 但可以使用 Richtextbox WPF RichTextBox 教程 http www c sharpcorner
  • 如何从 DataGrid 获取单元格?

    我有一个 DataGrid net Framework 3 5 WPFToolKit 我想更改某些单元格的边框 左或右 一个 两个或三个 那么我怎样才能访问单个单元呢 这可能吗 我找到了一些解决方案 但它们适用于 net 4 您可以扩展 D
  • 在 C++11 中指定成员函数作为回调

    我有以下内容 typedef std function
  • unregisterForRemoteNotifications 仍然在“设置”中显示“允许通知”

    我正在创建一个设置页面 允许用户打开和关闭推送通知 这是我的问题 如果用户在初始系统提示时允许推送通知 然后改变主意并将 UISwitch 设置为 否 则我的关闭开关操作为 UIApplication共享应用程序 unregisterFor
  • ListFragment / CursorAdapter 显示为空(无数据)

    我无法让列表视图显示我的数据 它只显示空 无数据文本视图 我已经尝试解决这个问题有一段时间了 搜索了 stackoverflow 和网络 尝试了很多不同的事情 Logcat 显示我的 newView bindView 没有被调用 到达 我认
  • 如何在Python中显示列表元素的索引? [复制]

    这个问题在这里已经有答案了 我有以下代码 hey lol hey water pepsi jam for item in hey print item 我是否在项目之前显示列表中的位置 如下所示 1 lol 2 hey 3 water 4
  • 自动完成文本视图设置错误

    密码字段是AutoCompleteTextView我正在尝试做setError当它为空时 但我不想显示这个红色感叹号 我该怎么做 附 在此之上的字段 也是AutoCompleteTextView mailview 但是当我这样做时setEr
  • notepad++正则表达式如何从此列表中提取userId

    我有下面这个列表 originalscrape scrapeDate userId username full name is private follower count following count media count biogr
  • 标签栏按钮全灰

    我正在尝试创建一个选项卡栏控制器 但上次我是使用 iOS 6 1 进行的 但是现在 当我将选项卡栏控制器放在情节提要上时 它不会显示按钮 并且我尝试对背景和文本进行的任何修改都不会出现 有人知道我该如何修复它吗 下面是所描述问题的图像 Th
  • 向量化矩阵各行的运算

    我想矢量化 apply a which矩阵运算X如下图所示for循环的结果是向量ind X matrix 1 20 4 5 V sample 1 20 4 ind numeric for i in 1 nrow X ind i max c
  • 从行和列计算的问题(将两列与不同行的第三列相加)

    参考我之前的问题添加 GROUP BY 子句产生的列 https stackoverflow com questions 13892128 adding columns resulting from group by clause 1389
  • 将 Pentaho 社区版与 SQL Server 2005 结合使用

    我已经尝试了很多次将Pentaho CE连接到SQL Server 2005中的数据库但没有成功 我首先在安装了 Pentaho CE 的 Ubuntu 上执行此操作 似乎无法连接到 SQL Server 然后我在与 SQL Server
  • 如何获取django中涉及多对多关系的对象列表

    我有以下型号 class Committee models Model customer models ForeignKey Customer related name committees name models CharField ma
  • ASP.NET + GridView + 空数据模板

    我有一个使用 EmptyDataTemplate 的 ASP NET GridView 该模板用于在我的数据源中不存在记录的情况下收集数据 我的 GridView 源代码如下所示
  • .vscode-server 文件夹占用大量空间

    我正在使用 VScode 进行 Web 开发 并注意到 vscode server在我的用户文件夹中占用了大量空间 数百MB 我尝试删除它并重新打开 VSCode 并连接到服务器 该文件夹又回来了并且仍然很大 有什么办法可以阻止这种情况发生
  • 将弹性项目固定到容器的底部

    我有 4 个带有标题 描述和按钮的块 我希望标题和描述保持在顶部对齐 按钮保持在底部对齐 无论描述或标题有多长 我还需要保持相同的 HTML 结构 我实际需要的示例图片 有人能弄清楚吗 到目前为止我还没有在互联网上找到修复方法 FLEXBO