我一直在尝试将media-body
文字与图片的middle
对齐,但我无法弄清楚如何使用新的Bootstrap 4 beta
版本进行操作。
我尝试了this solution,但它不能用于新版本。
我也尝试使用text-center
,align-middle
,但这也不起作用。
media-middle
中有一个课程V3.3.7
,但v4 beta
无效。
这是Jsfiddle。如果有人可以帮助我,那就太好了。
以下是media list
的代码。
<div class="container">
<div class="row mt-3">
<div class="col-lg-6 col-md-12 col-sm-12 col-6">
<ul class="list-group">
<li class="media mb-2">
<img class="mr-3 rounded-circle" width="64" height="64" src="http://lorempixel.com/64/64/">
<div class="media-body pagination-centered">
<h6>No commission on refunds or event cancellation</h6>
</div>
</li>
</ul>
</div>
</div>
</div>
非常感谢
答案 0 :(得分:2)
一个简单的修复方法可能是将d-flex
和align-items-center
类添加到每个li
和每个<div class="media-body">
。
在 flexbox 术语中,您可以将display: flex
和align-items: center
添加到li
和li > div
。请参阅下面的演示和updated fiddle here:
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css">
<div class="container">
<div class="row mt-3">
<div class="col-lg-6 col-md-12 col-sm-12 col-6">
<ul class="list-group">
<li class="media mb-2 d-flex align-items-center">
<img class="mr-3 rounded-circle" width="64" height="64" src="http://lorempixel.com/64/64/">
<div class="media-body pagination-centered d-flex align-items-center">
<h6>No commission on refunds or event cancellation</h6>
</div>
</li>
<li class="media mb-2 d-flex align-items-center">
<img class="mr-3 rounded-circle" width="64" height="64" src="http://lorempixel.com/64/64/">
<div class="media-body d-flex align-items-center" style="height:64px;">
<h6>Sell tickets</h6>
</div>
</li>
<li class="media mb-2 d-flex align-items-center">
<img class="mr-3 rounded-circle" width="64" height="64" src="http://lorempixel.com/64/64/">
<div class="media-body d-flex align-items-center">
<h6>Book camping/Stables</h6>
</div>
</li>
</ul>
</div>
<div class="col-lg-6 col-md-12 col-sm-12 col-6">
<ul class="list-group ">
<li class="media mb-2 d-flex align-items-center">
<img class="mr-3 rounded-circle" width="64" height="64" src="http://lorempixel.com/64/64/">
<div class="media-body d-flex align-items-center">
<h6>Discounted prices for club members</h6>
</div>
</li>
<li class="media mb-2 d-flex align-items-center">
<img class="mr-3 rounded-circle" width="64" height="64" src="http://lorempixel.com/64/64/">
<div class="media-body d-flex align-items-center">
<h6>Live scoring with JJD and Jumpscore</h6>
</div>
</li>
<li class="media mb-2 d-flex align-items-center">
<img class="mr-3 rounded-circle" width="64" height="64" src="http://lorempixel.com/64/64/">
<div class="media-body d-flex align-items-center">
<h6>Live editing during the show</h6>
</div>
</li>
</ul>
</div>
</div>
</div>
&#13;
答案 1 :(得分:2)
media-middle
,在ver中重命名为align-middle
。 4,设置vertical-align: middle
,这对flex项目不起作用。
对于弹性行项目,请在align-self-center
元素上使用media-body
,这与align-middle
类似,即内联块元素。
原因是其父级media
元素具有align-items: flex-start
(顶部对齐弹性行项),因此文本中的属性:值align-self: center
将使其垂直居中。
注意,h6
元素有一个默认的边距,可以垂直偏移它,并修复你可以使用内置的m-0
类,或者创建一个你的规则拥有.media-body h6 { margin: 0; }
Stack snippet
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
<div class="row mt-3">
<div class="col-lg-6 col-md-12 col-sm-12 col-6">
<ul class="list-group">
<li class="media mb-2">
<img class="mr-3 rounded-circle" width="64" height="64" src="http://lorempixel.com/64/64/">
<div class="media-body pagination-centered align-self-center">
<h6>No commission on refunds or event cancellation</h6>
</div>
</li>
<li class="media mb-2">
<img class="mr-3 rounded-circle" width="64" height="64" src="http://lorempixel.com/64/64/">
<div class="media-body align-self-center">
<h6>Sell tickets</h6>
</div>
</li>
<li class="media mb-2 ">
<img class="mr-3 rounded-circle" width="64" height="64" src="http://lorempixel.com/64/64/">
<div class="media-body align-self-center">
<h6>Book camping/Stables</h6>
</div>
</li>
</ul>
</div>
</div>
</div>
或者您当然也可以在align-items-center
元素上使用flex容器类media
,
updated fiddle,使用哪一个取决于其他弹性项目的行为方式。
答案 2 :(得分:0)
首先,您应为display:inline-block
元素添加<li>
,并使用class="text-center
“对图像进行居中。然后您还应在媒体体中使用class="text-center"
。