响应式文本在图像上居中对齐

Responsive Text Aligned Center on Image

我为我的博客 post 创建了这个布局,每个 post 都会自动 post 在那里。我对自己的设置非常满意,但我终生无法让文本在图像上居中(垂直)(它已经水平居中)。只是想知道其他人会如何处理这个问题。

我已经把HTML 和CSS here 完全写在了codepen 里。如果您有兴趣调整代码,如果您将它基于代码笔中当前的 css 类,我将不胜感激。 :)

提前感谢您的帮助和建议!

HTML:

<div id="blog-posts">

<div class="blog-post">

<a href="http://www.ericshio.com/2016/08/07/test-2/">

<img width="5472" height="3648" src="http://www.ericshio.com/wp-content/uploads/2016/08/IMG_0303.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="IMG_0303" srcset="http://www.ericshio.com/wp-content/uploads/2016/08/IMG_0303.png 5472w, http://www.ericshio.com/wp-content/uploads/2016/08/IMG_0303-300x200.png 300w, http://www.ericshio.com/wp-content/uploads/2016/08/IMG_0303-768x512.png 768w, http://www.ericshio.com/wp-content/uploads/2016/08/IMG_0303-1024x683.png 1024w" sizes="(max-width: 5472px) 100vw, 5472px" scale="0">            

<h3>Test 2</h3>

</a>

</div>

<div class="blog-post">

<a href="http://www.ericshio.com/2016/08/07/hey-johnson/">

<img width="5472" height="3648" src="http://www.ericshio.com/wp-content/uploads/2016/08/macbook.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="macbook" srcset="http://www.ericshio.com/wp-content/uploads/2016/08/macbook.png 5472w, http://www.ericshio.com/wp-content/uploads/2016/08/macbook-300x200.png 300w, http://www.ericshio.com/wp-content/uploads/2016/08/macbook-768x512.png 768w, http://www.ericshio.com/wp-content/uploads/2016/08/macbook-1024x683.png 1024w" sizes="(max-width: 5472px) 100vw, 5472px">            

<h3>Hey Johnson</h3>

</a>

</div>

</div>

CSS:

#blog-posts {
     text-align: center;
     display: inline-block;
     max-width: 100%;
}

.blog-post {
    width: 40%;
    height: auto;
    display: inline-block;
    position: relative;
    margin: 0.2em;
    overflow: hidden;
}

.blog-post h3 {
    font: 1em Cabin Sketch;
    color: white;
    width: 100%;
    height: 100%;
    line-height: 100%;
    text-transform: uppercase;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    padding: 0;
    font-size: 2em;
    background-color: rgba(0,0,0,0.4);
    opacity: 0;
    -webkit-transition: opacity 0.6s;
    -moz-transition: opacity 0.6s;
    transition: opacity 0.6s;
    vertical-align: middle !important;
}

.attachment-post-thumbnail {
   position: relative;
    width: 100%;
    display: inline-block;
    height: auto;
}

.blog-post:hover h3,
.blog-post h3:hover,
.blog-post .attachment-post-thumbnail:hover {
    opacity: 1;
}

.blog-post:hover .attachment-post-thumbnail {
   -webkit-filter: blur(1px);
    opacity: 1;
}

我将 padding-top 设置为 30%。查看代码笔:

http://codepen.io/anon/pen/mEQVZy