我有一行可以包含3-5个div。 div需要水平(左/右)居中。点击divs'flip'以显示其他信息。中心工作正常,除非翻转,然后看起来div的高度变化,它们不再垂直对齐。如果我在CSS中的第24行添加'float:left',那么问题会消失,但是它们不再是水平居中的
https://jsfiddle.net/rffxmbh0/1/
#readModal>.modal-lg {
width: 100%;
margin: auto;
}
#readModalContent {
height: 420px;
}
.row-center {
text-align:center;
}
#readModal h2{
padding-left: 25px;
}
.col-centered {
padding:0;
}
.whatToReadCover {
display:inline-block;
float:none;
height: 350px;
width: 255px;
background-color: white;
border: 1px solid;
border-radius: 6px;
margin: 0 0 0 12px;
text-align: center;
}
.whatToReadCover p,
.whatToReadCover .description {
width: 170px;
text-align: left;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
margin:0;
}
.cover {
padding: 0px 0px 0px 30px;
}
.cover-image {
height: 250px;
display: flex;
align-items: center;
}
.whatToReadCover .description {
text-overflow: ellipsis;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 17;
-webkit-box-orient: vertical;
//height: 290px;
white-space: normal;
width: 238px;
padding: 5px 0 0 0;
}
.whatToReadCover:first-child {
margin-left: 0;
}
.whatToReadCover:last-child {}
.more-info {
display: inline-block;
width: 162px;
border: 2px solid #20638f;
padding: 0.4em 0.6em;
color: #20638f;
text-decoration: none;
font-weight: 800;
font-size: 0.9em;
text-transform: uppercase;
margin: 12px 0 0 0;
float: left;
}
答案 0 :(得分:1)
将.vertical-align: top
添加到您的.whatToReadCover
元素中。这对于在使用display: inline-block
时将元素保持在y轴上的相同位置非常重要。
答案 1 :(得分:1)
在你的div中使用这些样式:
border: 1px solid #09f;
height: 40px;
width: 40px;
vertical-align: top;
display: inline-block;
答案 2 :(得分:0)
我可以通过将display:flex添加到你的.row-center类来实现这一点。
.row-center { text-align:center; display: flex; }
如果你想要2个单独的行,你的问题不是100%肯定,但这解决了我的尴尬垂直对齐问题。