问题描述
我在这个论坛上搜索了很长时间,但是找不到任何可以回答我问题的东西。
我有一个带有两个并排部分的容器。我希望左侧的文本根据右侧容器的高度垂直对齐其容器中的中心。
我使用了my-auto,m-auto和其他几个bootstrap css类,还有一些自定义类,但是似乎都不起作用。
请查看随附的代码以了解内容(在整页中打开或展开代码段,以便您可以并排查看各个部分)
<!DOCTYPE html>
<html>
<head>
<!-- CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
</head>
<body>
<div>
<div class="container-fluid">
<div class="row">
<div class="col-md-6 bg-light">
<div class="m-auto p-5">
<h2>Content that needs to be vertically aligned</h2>
</div>
</div>
<div class="col-md-6 bg-primary">
<div class="ml-5 space-top-2 space-bottom-2 pr-10">
<div class="container">
<div class="row space-bottom-2">
<div class="col-md-3">
</div>
<div class="col-md-9">
<p>Lorem ipsum dolor sit amet,consectetur adipiscing elit. Vestibulum egestas leo laoreet nunc congue,at venenatis risus tristique. Suspendisse ac augue metus. Donec finibus velit at accumsan tristique. Sed eu sapien sed purus fringilla
pretium. Curabitur ac nisl at massa vulputate hendrerit eget non urna. Praesent nec turpis vitae velit semper efficitur. Nullam a diam rutrum,venenatis nisl sit amet,placerat felis. Nullam semper,augue ut vestibulum venenatis,quam
tellus ornare enim,ut mattis nibh ante vitae dui. Nunc elementum,sem at aliquet vulputate,ipsum tellus volutpat arcu,ut imperdiet orci turpis sit amet velit. Sed et eros nec ipsum sagittis scelerisque vel at urna. Nunc ante lacus,facilisis in feugiat et,pharetra sit amet orci. Nullam tincidunt ligula et nunc tempor posuere. Sed faucibus cursus urna,non porta tortor dignissim in. Nulla in urna et ligula fermentum imperdiet.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
解决方法
将此粘贴到您的css文件中...
.col-md-6 {
margin-top: auto;
margin-bottom: auto;
}
,
只需添加:
.col-md-6{
display: flex;
}
,
通过在CSS中使用flex,我们可以实现这一目标。
<div class="col-md-6 bg-light h-100 d-flex align-items-center justify-content-center">
在这里,align-items-center
使文本垂直居中,justify-content-center
使文本水平居中。
您可以为此使用CSS grid
的{{1}}。它将使您的文本垂直/水平对齐。
place-item
.parent {
display: grid;
place-items: center;
/* meaningless styling */
width: 200px;
height: 200px;
background: lightblue;
resize: both;
overflow: auto;
}