当前位置: 首页 > 知识库问答 >
问题:

html - 这种情况下,子元素多行文字如何垂直居中?

吕俊哲
2024-06-06

这种情况下,子元素多行文字如何垂直居中?

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <title>Document</title>  <style>    .box1 {      width: 100px;      height: 300px;      border: 1px solid red;      word-wrap: break-word;    }    .box {      display: flex;      align-items: center;      height: 500px;      border: 1px solid blue;    }  </style></head><body>  <div class="box">    <div class="box1">1234aaaaaaaaaaaaaaaaaaaaa</div>  </div></body></html>

共有3个答案

华浩壤
2024-06-06

在这种情况下,要让子元素多行文字垂直居中,可以结合使用 flex 布局和一些辅助的 CSS 属性。以下是修改后的代码示例,使 box1 中的多行文字在 box 中垂直居中显示:

<html lang="en"><head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <title>Document</title>  <style>    .box1 {      width: 100px;      height: auto; /* 让高度根据内容自适应 */      border: 1px solid red;      word-wrap: break-word;      display: flex;      align-items: center;      justify-content: center;      text-align: center;    }    .box {      display: flex;      align-items: center;      justify-content: center;      height: 500px;      border: 1px solid blue;    }  </style></head><body>  <div class="box">    <div class="box1">1234aaaaaaaaaaaaaaaaaaaaa</div>  </div></body></html>

box 类:

display: flex; 和 align-items: center; 使其子元素在垂直方向居中。
justify-content: center; 使其子元素在水平方向居中(可选,根据需要)。

box1 类:

display: flex; 使 box1 内部的内容也使用弹性布局。
align-items: center; 使内部内容在垂直方向居中。
justify-content: center; 使内部内容在水平方向居中。
text-align: center; 使文本在多行时居中对齐(可选,根据需要)。
通过上述设置,box1 内的多行文字将会在父容器 box 中垂直居中,并且在 box1 内部也会居中对齐。这样可以确保多行文本在视觉上居中显示。

邢炯
2024-06-06

可以使用.box1 上应用 Flexbox 并设置适当的对齐方式,可以实现多行文字的垂直居中

.box1 {  width: 100px;  height: 300px;  border: 1px solid red;  word-wrap: break-word;  display: flex;  justify-content: center;  align-items: center;  text-align: center; /* 使文字水平居中,可选 */}
张卓
2024-06-06

align-items: center;垂直居中,word-break:break-all;字母数字换行

.box1{            width: 100px;            height: 300px;            border: 1px solid red;            display: flex;            align-items: center;            word-break:break-all;      }
 类似资料:
  • 本文向大家介绍如何实现元素的垂直居中?相关面试题,主要包含被问及如何实现元素的垂直居中?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 法一:父元素display:flex,align-items:center; 法二:元素绝对定位,top:50%,margin-top:-(高度/2) 法三:高度不确定用transform:translateY(-50%) 法四:父元素table布局,子元

  • 问题内容: 似乎有一些我不了解的魔术。 考虑以下标记: 而这个CSS: 是什么使按钮元素中的文本垂直居中?Webkit似乎预定义了一个值为的元素。如果我将其设置为文本不再与中心对齐。但这似乎并不是全部的魔术,因为另一方面,我没有运气使用该属性将文本放在div的中心。 问题答案: 我知道这已经有两年的历史了,但是我会在编写项目的重置样式表时进行一些调查后发表自己的看法。 注意**这是基于浏览Fire

  • 问题内容: 我试图将标签内容垂直居中,但是当我添加CSS样式时,水平文本对齐会消失。 如何为我的每个标签使文本对齐x和y? 问题答案: 方法1- / : 在受支持的浏览器(大多数)中,可以将/ 与组合使用, 以动态垂直/水平居中元素。 方法2-Flexbox方法: 在支持的浏览器中,将目标元素的设置为并用于垂直居中和水平居中。只是不要忘记为其他浏览器支持添加供应商前缀。 方法3- / : 在某些情

  • 我正在尝试垂直居中我的选项卡内容,但是当我添加CSS样式时,水平文本对齐消失了。 我如何使文本对齐x和y为我的每个选项卡? null null

  • 问题内容: 我有两个要素并列。元素2小于元素1。两个元素都不具有固定的高度。我需要将元素2垂直居中。如何使用CSS做到这一点? 编辑: 这是我到目前为止的内容: img1的高度将始终大于img2的高度。我希望img2垂直居中对齐。希望这可以澄清我要完成的工作。 问题答案: 最简单,最干净的方法是使用并垂直对齐。但是,IIRC(自从我开始浏览器兼容性问题以来已经有一段时间了)……也许某些普通版本的I

  • 本文向大家介绍如何垂直居中一个浮动的元素?相关面试题,主要包含被问及如何垂直居中一个浮动的元素?时的应答技巧和注意事项,需要的朋友参考一下 给浮动元素套一个父盒子与之大小一致然后使用绝对定位使其垂直居中

  • 本文向大家介绍如何垂直居中` `?相关面试题,主要包含被问及如何垂直居中` `?时的应答技巧和注意事项,需要的朋友参考一下 使用协助元素(这里是i),作为img的相邻元素,同为inline-block的两元素相邻时增加vertical-align: middle

  • 问题内容: 有什么办法可以将html元素垂直或水平居中放置在主要父对象中? 问题答案: 更新 :虽然这个答案早在2013年初就可能是正确的,但现在不应该再使用。正确的解决方案使用offsets。 至于其他用户的建议,也可以使用本机引导程序类,例如: