2017-08-17 26 views
-1

我有一行可以包含3-5个div。 div需要水平(左/右)居中。点击divs'flip'显示更多信息。除了翻转时,居中工作正常,然后看起来divs高度发生变化,他们不再垂直对齐。如果我补充一下:在这个问题就没有了CSS线24“浮动左”,但随后他们不再水平中心组div连续

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; 
} 

回答

1

中心添加.vertical-align: top.whatToReadCover元素。当使用display: inline-block时,这对于将元素保持在y轴上的相同位置很重要。

1

使用这些样式在您的div:

border: 1px solid #09f; 
height: 40px; 
width: 40px; 
vertical-align: top; 
display: inline-block; 
+0

什么div?边界,高度和宽度从哪里来? –

+0

无论如何,重要的是'垂直对齐'和'显示'属性 –

0

我能得到这个通过增加显示的工作:弯曲你的.row中心级。

.row-center { text-align:center; display: flex; } 

不是100%肯定你的问题,如果你想2个独立的行,但这个固定的尴尬垂直对齐问题对我来说。

https://jsfiddle.net/ow1n0gz9/

+0

感谢您的输入DL,但添加显示:flex可防止div在该行中居中。 .vertical-align:top解决了这个问题 – jriggs