我正在使用bootstrap网格系统来构建网站
div中有一个文本,我想将它垂直对齐到中间
当前的HTML
<div class="col-lg-9 col-md-9 col-sm-9 col-xs-12 right">
<p>Hatha with Steve Smith</p>
<p>Pure Yoga is dedicated to serving the yoga community in Asia by offering diverse yoga practices - Vinyasa, Hatha, Hot, Wall Rope Yoga, Pre-Natal, & more...</p>
</div>
和CSS
@media (min-width: 1140px)
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
float: left;
}
.video_bar .right p:first-child {
font-size: 15px;
font-weight: bold;
margin-top: 30px;
}
所以你可以注意到,现在文本正在使用margin-top来假装对齐中间,最好的做法不是那样。如何解决?
演示网站:
http://internal001.zizsoft.com/yoga/section/beginners
感谢您的帮助。
答案 0 :(得分:4)
试试这个
<强> CSS 强>
.video_bar .left {
border-right: 1px solid #e2e2e2;
display: table-cell;
float: none;
padding: 0;
position: relative;
vertical-align: middle;
}
.col-lg-9.col-md-9.col-sm-9.col-xs-12.right {
display: table-cell;
float: none;
vertical-align: middle;
}
.video_block a,
.video_bar a {
color: #666666;
display: table;
}
修改强>
由于您的断点是sm,因此vertical-align: middle
需要>768px
因此,您只能将此代码用于此类
@media (min-width: 768px) {
.video_bar .left {
border-right: 1px solid #e2e2e2;
display: table-cell;
float: none;
padding: 0;
position: relative;
vertical-align: middle;
}
.col-lg-9.col-md-9.col-sm-9.col-xs-12.right {
display: table-cell;
float: none;
vertical-align: middle;
}
.video_block a,
.video_bar a {
color: #666666;
display: table;
}
}
在宽度较小的情况下,你会保持强化布局。