响应式文本在图像上居中对齐
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%。查看代码笔:
我为我的博客 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%。查看代码笔: