中心组的div连续

时间:2017-08-17 14:19:06

标签: html css twitter-bootstrap

我有一行可以包含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;
}

3 个答案:

答案 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%肯定,但这解决了我的尴尬垂直对齐问题。

https://jsfiddle.net/ow1n0gz9/