垂直居中,右对齐,多行文本在绝对定位的 div 中,具有 Flexbox 父级

2024-04-09

我有一些绝对定位的 div,有两行文本,一个 h2 和一个 p。我试图让文本:在绝对定位的 div 内垂直居中,右对齐,并且 h2 和 p 标签之间有一个换行符。

绝对定位的 div 包含在父级中,所以我想我可以使用 flexbox 来解决这个问题,但事实证明它比预期的更难。我已经给了父显示器:flex和align-items:center,它们垂直居中。但是我的 h2 和 p 在同一行,没有换行符。

然后我使用了 flex-direction: column 来创建换行符,但文本不再垂直居中。如果我使用align-items:flex-end和flex-direction:column,文本将右对齐,并且h2和p之间会有换行符,但它们不会垂直居中。

margin-right:auto 应该可以右对齐项目,但与align-items:center 和 flex-direction:column 结合使用,它不起作用。 float:right 也不起作用。

我的标记如下所示:

    <div class = "col-sm-12">
      <div class = "row overlay-container">
        <img src = "_img/[email protected] /cdn-cgi/l/email-protection" class = "img-responsive grid-image" alt = "top-right@4x image" />
          <div class = "overlay overlay-2">
           <h2>Recent Work</h2>
           <p>Lorem ipsum dolor</p>
         </div> <!-- /overlay -->
      </div> <!-- /row -->
    </div> <!-- /top right -->

其中overlay 是overlay-container 内绝对定位的div。覆盖层是位于图像一部分上方的框。上面提到的display:flex和其他属性都在overlay类上。

看来无论我怎么尝试,我只能让这三个条件中的两个起作用。使用 Flexbox 不是必需的,但我认为它可以轻松地将文本垂直居中。有人可以帮忙吗?


这是如何使用居中的示例display: flex

堆栈片段

body {
  margin: 0;
}
.overlay {
  width: 300px;
  margin-top: 5vh;
  height: 90vh;
  border: 1px solid;
  
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;  
}
<div class = "overlay overlay-2">
  <h2>Recent Work</h2>
  <p>Lorem ipsum dolor</p>
</div> <!-- /overlay -->

Updated

在某些情况下,可能需要使用自动边距,作为居中时的默认行为justify-content(当使用flex-direction: column)是,当内容放不下时,它会在顶部和底部溢出。

  • https://www.w3.org/TR/css-flexbox-1/#valdef-justify-content-center https://www.w3.org/TR/css-flexbox-1/#valdef-justify-content-center

堆栈片段

body {
  margin: 0;
}
.overlay {
  width: 300px;
  margin-top: 5vh;
  height: 90vh;
  border: 1px solid;
  
  display: flex;
  flex-direction: column;
  /*justify-content: center;        removed  */
  align-items: center;  
  overflow: auto;               /*  scroll when overflowed  */
}

.overlay h2 {
  margin-top: auto;             /*  push to the bottom  */
}
.overlay p {
  margin-bottom: auto;          /*  push to the top  */
}
<div class = "overlay overlay-2">
  <h2>Recent Work</h2>
  <p>Lorem ipsum dolor</p>
</div> <!-- /overlay -->

更新2

这里中间有第三个项目,当不适合时会滚动。

堆栈片段

body {
  margin: 0;
}
.overlay {
  width: 300px;
  margin-top: 5vh;
  height: 90vh;
  border: 1px solid;
  
  display: flex;
  flex-direction: column;
  align-items: center;  
}

.overlay p:first-of-type {
  overflow: auto;               /*  scroll when overflowed  */
}

.overlay h2 {
  margin-top: auto;             /*  push to the bottom  */
}
.overlay p:last-of-type {
  margin-bottom: auto;          /*  push to the top  */
}
<div class = "overlay overlay-2">
  <h2>Recent Work</h2>
  <p>
    Lorem ipsum dolor<br>
    Lorem ipsum dolor<br>
    Lorem ipsum dolor<br>
    Lorem ipsum dolor<br>
    Lorem ipsum dolor<br>
    Lorem ipsum dolor<br>
    Lorem ipsum dolor<br>
  </p>
  <p>Maybe a link for more</p>
</div> <!-- /overlay -->

另一个样本:

  • 如何使用flex css固定div内内容的高度 https://stackoverflow.com/questions/48462423/how-to-fix-height-the-content-inside-a-div-with-flex-css/48462612#48462612
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

垂直居中,右对齐,多行文本在绝对定位的 div 中,具有 Flexbox 父级 的相关文章

  • 单击后按键不会删除过渡

    我认为问题可能出在const 音频 document querySelector audio data key e keyCode const key document querySelector key data key e keyCod
  • 在 R 中修改传单弹出窗口

    我想修改 R 中传单弹出窗口的外观 帮助文件指出 in the popupOptions 函数需要 传递给底层 Javascript 对象构造函数的额外选项 In 这个例子 https rstudio github io leaflet p
  • 将 Bootstrap CSS 中的列表居中[重复]

    这个问题在这里已经有答案了 重复报告后编辑 抱歉 我认为建议的重复项实际上可能是重复项 我先尝试了一下 但它对我不起作用 因此出现了一个新问题 再次查看新的建议答案后 我意识到我的问题可能与我正在使用的工具 codepen io 的开箱即用
  • 在问题内显示内联块文本

    我一直在尝试显示内联块 如果我没有在 div 中添加任何内容 一切都会很好 但是当我这样做时 div 会折叠起来 我不知道确切的原因 任何想法 https jsfiddle net giancorzo ebqoptbd https jsfi
  • Chrome 19 无法识别字体粗细:较轻

    我刚刚启动了一个正在开发的项目以进行一些修改 并注意到该声明font weight lighter正在通过以下方式提供服务 font face并且它不再在网站上运行 参见图片 顶部镀铬 底部 ff 自昨晚以来 我的系统 Windows 上没
  • 如何在 Rails 5 中设置资产管道以使用自定义字体?

    我必须使用自定义字体贾米尔 努里 纳斯塔莱克 http www urdujahan com urdu fonts Jameel 20Noori 20Nastaleeq zip在 Rails 5 应用程序中 我以前从未使用过 Rails 中的
  • 如何显示接下来的三个图像单击加载更多按钮

    我需要一个加载更多按钮来显示图像 页面加载时 我显示 3 个图像 单击 加载更多 按钮后 接下来的 3 个图像将显示在屏幕上 我尝试了下面的代码 但它不起作用 你能帮我解决这个问题吗 function item slice 0 2 show
  • AngularJS + jQuery 移动

    是否还有其他可能性来设计AngularJS以移动友好的方式应用程序CSS 我正在计划一个移动应用程序 并希望使用 AngularJS 进行逻辑和数据绑定 但我不想自己设计所有内容CSS The AngularJSFAQ说它使用jQuery
  • 使用flex-basis控制行上显示的项目数

    我想在使用 Flex 时将元素推出以隐藏它们 例如 如果flex basis为 50 仅显示两个项目弯曲到给定空间 而其他元素则在overflow hidden 领土 Or if flex basis为 25 则仅显示 4 个 Flex 元
  • 我应该创建一个块还是一个元素 BEM CSS?

    Bem官网说 创建一个块如果一段代码可以被重用并且它不依赖于正在实现的其他页面组件 创建一个元素如果一段代码在没有父实体 块 的情况下无法单独使用 我有一个 关于部分 块 它的元素依赖于父级并且不能在网站中重复使用 如何根据 bem 这段代
  • jQuery 更改 id!

    我是一个 jQuery 菜鸟 一直在尝试添加一个脚本来更改 div onClick 的 id 这里有一个jsfiddle 示例 http jsfiddle net 475ep function accept div scrollwrap a
  • 提升变焦不起作用

    我正在使用带有苹果风格幻灯片画廊的提升缩放功能 一切正常 然而 缩放功能会放大被滑块隐藏的隐藏图像 直到单击缩略图时它们变得可见 启动缩放插件的原始代码是 zoom 01 elevateZoom 我从其他问题中得到了下面的 JavaScri
  • 使用css动画使div元素移动到页面的每个角落

    我想知道如何使用CSS动画使圆形div元素移动到页面的每个角落 我曾尝试这样做 但没有成功 这是一个相当基本的问题 但它会帮助我理解
  • 如何实现弧形顶部指针

    有人可以帮忙解决这个问题吗 如何仅用CSS实现附加按钮 无图像 到目前为止 这是我的代码 triangle up width 0 height 0 border left 25px solid transparent border righ
  • 表格底部的粘性滚动条

    我不确定 粘性 是否是这个术语 但是有没有办法使滚动条overflow auto保持可见 我有一个相当大的表格 我希望它可以水平滚动 但是 表格也相当高 因此当页面加载时 水平滚动条不在浏览器的视口内 因此很难判断表格是否可滚动 div s
  • 如何创建多列列表?

    我有一个 有序列表 其中包含大约 100 个 列表项 这使得我的页面很长 用户不得不滚动太多 我怎样才能让 UL 显示如下 1 6 11 2 7 12 3 8 13 4 9 14 5 10 15 如果您不关心垂直顺序 而只关心布局 1 2
  • 将 div 附加到另一个 div 的右侧

    我有一个 div 它就像一个容器 里面有 2 个图像 一张图像位于 div 的左侧 另一张图像位于右侧 我的容器是Bootstrap的容器 它们都用 div 包裹 并且div s position is fixed 我的问题是我无法找到要附
  • 在选择 tr 来覆盖父 div 上的第 n 个子类时,如何使用 jquery addClass ?

    我用它来选择一个 tr 当单击它来更改 tr 的颜色时 tr click function this addClass selected siblings removeClass selected 参见小提琴http jsfiddle ne
  • Flexbox 列的垂直间距相等

    我在CSS中努力让我的Flexbox在垂直等距的列中显示项目 从而使列的每行之间的空间均匀 html body flex container margin 0 height 100 width 100 body font family Dr
  • 从“class”名称中删除/替换不需要的前缀信息

    我正进入 状态style从后端 它带有不需要的前缀 我会替换没有前缀的相同内容 正确的方法是什么 这就是我得到的

随机推荐

  • 安装以太坊时出错:软件包“ethereum”没有安装候选者

    我按照本文中的步骤在 Ubuntu 17 10 上安装以太坊 https medium com mvmurthy full stack hello world voting ethereum dapp tutorial part 2 30b
  • 在 Android 中动态创建/删除按钮

    首先 如果这个答案已经在这里 我很抱歉 因为我已经搜索了几个星期 但还没有找到任何东西 我正在开发一个 Android 应用程序 它需要允许用户创建和删除按钮 我知道如何通过将按钮添加到 XML 文件并在 JAVA 文件中创建其功能来通常静
  • package.json 中的代理不影响 fetch 请求

    我正在尝试使用 React 从开发服务器获取一些数据 我正在运行客户端localhost 3001和后端port 3000 获取请求 const users fetch api users users then err res gt con
  • 将值设置为 Java 15 记录中的属性之一

    我在代码中使用Java 15预览功能记录 并定义记录如下 public record ProductViewModel String id String name String description float price 在控制器级别我
  • C++20 中是否有一个浮点数包装器,可以让我默认飞船运算符?

    我正在观看 使用 C 20 三路比较 Jonathan M ller Meeting C 2019 演讲 其中提到了包含浮点成员的类的问题 问题源于这样一个事实 涉及 NaN 的 IEEE 754 比较很奇怪 并且不提供总排序 Talk 提
  • 使用 tmap tm_bubble 添加固定大小的中断

    我正在尝试创建一个 tmap 气泡图 其中大小和颜色美观具有相同的固定中断 设置style fixed and breaks c Inf seq 10 10 by 2 5 Inf 正在为颜色变量生成所需的结果 但大小变量保持不变 我正在处理
  • 在同一个类中使用两个 UIPickerView

    我为第一个 UIPickerView 编写了这段代码 void viewDidLoad NSURL url NSURL URLWithString http localhost 8080 Data resources converter c
  • C#:通过 200 万个对象进行内存高效搜索,无需外部依赖

    我需要能够搜索集合大约 200 万个 C 项目 搜索应该可以在多个字段上进行 简单的字符串匹配就足够了 使用外部依赖项 例如数据库不是一个选择 但是使用内存数据库就可以了 主要目标是做到这一点内存效率高 集合中的类型非常简单 没有长字符串
  • 如何找到 toast 小部件的布局参数?

    我喜欢的布局toastwidget非常多 这意味着圆角 透明度 浅灰色边框 有没有办法查看像这样的android标准小部件的布局参数toast 我想定义一个TextView具有相同的布局参数 布局可以在下面找到 SDKBASEDIR pla
  • 如何在 ASP.NET C# 中发送电子邮件

    我对这个很陌生ASP NET http en wikipedia org wiki ASP NETC 区域 我计划通过 ASP NET C 发送邮件 这是SMTP http en wikipedia org wiki Simple Mail
  • 使用 Google+ API 获取用户凭据

    我正在尝试包括谷歌登录在我的android应用程序中使用谷歌 API 我可以从用户那里获取帐户详细信息 但登录后我会得到null when 请求用户名使用调用 Plus PeopleApi getCurrentPerson mGoogleA
  • 错误QApplication:没有这样的文件或目录

    我已经安装了具有 Qt 的 C SDK 但是当我尝试编译链接 QApplication 的代码时 它给了我错误 Error QApplication no such file or directory 我如何链接这些库 我搜索目录 有一个名
  • javascript 文件缓存的依据是什么?

    javascript 文件在什么基础上被缓存 假设我从一个网站加载一个名为 m script js 的文件 而在另一个网站上我使用相同的名称 m script js 但内容不同 浏览器会获取新的名称 还是只是查看名称并从缓存中加载它 两个
  • 检查位掩码的特定位

    我正在与Bitmasks in python 据我所知 这些是整数数组 当它们解压缩为二进制格式时 它们会告诉您数组中给定元素的 32 位中的哪一个被设置 1 我想知道检查数组的任何元素是否设置了 4 个特定位的最快方法 我不关心其余的 我
  • 更改所选单选按钮标签的样式

    我试图在表单中选择单选按钮标签时更改其边框颜色 我发现这个问题几乎正是我想要做的 CSS 如何设置选定单选按钮标签的样式 https stackoverflow com questions 4641752 css how to style
  • 程序太大

    我收到此错误消息 Procedure too large 在 VBA 中 这个错误的原因和解决办法是什么 您可能有一个或多个巨大的过程 函数 我认为 VBA 每个过程的限制为 64k 或其他值 您可以通过将该过程拆分为多个过程来修复此问题
  • 从 pandas.DataFrame 的每一列中获取最高值

    这是我的pandas DataFrame import pandas as pd data pd DataFrame first 40 32 56 12 89 second 13 45 76 19 45 third 98 56 87 12
  • Rails 加入多态关联

    我有一个名为的多态关联Notifiable在一个名为Notifiaction module Notifiable def self included base base instance eval do has many notificat
  • 泛型编程是多态性的一个例子吗?

    我正在做一项家庭作业 一个项目 其中一个标准是我必须以一种显着提高代码整体质量或功能的方式使用多态性 我做了一个哈希表 如下所示 public class HashTable
  • 垂直居中,右对齐,多行文本在绝对定位的 div 中,具有 Flexbox 父级

    我有一些绝对定位的 div 有两行文本 一个 h2 和一个 p 我试图让文本 在绝对定位的 div 内垂直居中 右对齐 并且 h2 和 p 标签之间有一个换行符 绝对定位的 div 包含在父级中 所以我想我可以使用 flexbox 来解决这