css - 垂直对齐图像叠加中的文本

标签 css vertical-alignment

在使用响应式图像叠加图像时无法获得所需的效果。我想要的是将鼠标悬停在图像上时,色 block 和文本显示如图所示,但文本位于 div 的垂直中心。我尝试过垂直中间,但似乎不起作用。无法根据需要折叠和展开宽度和高度设置值。如果有人可以提供帮助,我将不胜感激。谢谢

代码,CSS如下

.overlay-box {
   position: relative;
}
.overlay {
  display: none;
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background-color: rgba(38,150,198,0.5);
}
.overlay p {
   color: #ffffff;
   text-align: center;
}
.overlay-box:hover .overlay {
     display: block;
}
<div class="row">
  <div class="col-xs-12 col-sm-4 col-md-3" style="margin-bottom: 20px;">

      <div class="overlay-box">
            <a href="#" target="_blank">
              
                   <div class="overlay">
                   
                          <p>1st line<br>2nd line<br><br>
                          3rd line</p>
                   </div>
                <img src="http://placehold.it/2000x2000" class="img-responsive "/></a>


      </div>

  </div>

  </div>

最佳答案

img{
max-width: 100%;
height: auto;
}
.overlay-box {
   position: relative;
}
.overlay {
  display: none;
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background-color: rgba(38,150,198,0.5);
}
.overlay:before {
content: '';
display: inline-block;
width: 1px;
height: 100%;
vertical-align: middle;
border: 1px solid;
}
.overlay p {
   color: #ffffff;
   text-align: center;
display: inline-block;
vertical-align: middle;
width: 90%;
}
.overlay-box:hover .overlay {
 display: block;
}
<div class="row">
  <div class="col-xs-12 col-sm-4 col-md-3" style="margin-bottom: 20px;">

  <div class="overlay-box">
        <a href="#" target="_blank">
          
               <div class="overlay">
               
                      <p>1st line<br>2nd line<br><br>
                      3rd line</p>
               </div>
            <img src="http://placehold.it/2000x2000" class="img-responsive "/></a>


  </div>

  </div>

  </div>

关于css - 垂直对齐图像叠加中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31861956/

相关文章:

css - 在 IE 怪癖模式下垂直对齐 li 标签内的多行文本

javascript - 由于窗口宽度,需要根据缩放比例将元素与其兄弟元素垂直对齐

css - 如何在另一个 div 中垂直对齐 div 中的文本?

javascript - vue自定义导入css(sass)文件

jquery - CSS:向左浮动和向左溢出

javascript - Next JS 如何导入自定义字体?

javascript - 具有所有样式的文本被复制到可编辑文本区域

vertical-alignment - 如何在右侧对齐内联 block 元素?

css - 如何将未知大小的图像居中放置在 div 中?

css - 框阴影和变换的堆栈不正确