【问题标题】:CSS hover text over image on hoverCSS悬停文本悬停在图像上
【发布时间】:2015-04-01 15:56:59
【问题描述】:

我正在关注一个关于图像悬停效果的教程,其中文本弹出并且背景变暗。教程here.

我对悬停效果有一个小问题,当鼠标悬停在图像上时,我希望图像变暗并覆盖整个图像,当我将 ul.img-list li 设置为高度 100% 时只占文字的 100%,我可以将高度设置为图像的高度,但是当高度根据窗口大小发生变化时,它不会正确覆盖。我错过了什么吗?

HTML:

<div class="column large-6">
   <ul class="img-list">
     <li>
       <a href="#">
         <img src="https://www.ricoh.com/r_dc/r/r8/img/sample_08.jpg" />
         <span class="text-content">
           <span>Hello@!</span>
        </span>
      </a>
    </li>
 </ul>

CSS:

ul.img-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
  text-align: center;
}
ul.img-list li {
  display: inline-block;
  height: 100%;
  margin: 0 1em 1em 0;
  position: relative;
  width: 100%;
}
span.text-content {
  background: rgba(0,0,0,0.5);
  color: white;
  cursor: pointer;
  display: table;
  height: 150px;
  left: 0;
  position: absolute;
  top: 0;
  width: 150px;
}

span.text-content span {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

span.text-content {
  background: rgba(0,0,0,0.5);
  color: white;
  cursor: pointer;
  display: table;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 150px;
  opacity: 0;
  -webkit-transition: opacity 500ms;
  -moz-transition: opacity 500ms;
  -o-transition: opacity 500ms;
  transition: opacity 500ms;
}

这是我的 jsfiddle - http://jsfiddle.net/f32kn4h5/

【问题讨论】:

  • 这个问题很相关,也许会有所帮助..stackoverflow.com/questions/18322548/…
  • 这个很有帮助,已加收藏,谢谢!
  • 小提琴对我来说似乎很好用。没关系,它没有
  • @JoshCrozier 我真的很喜欢你的悬停文本解决方案......如果我想将字体很棒的字体与文本结合起来怎么办?
  • @TJXStyles 我猜你将不得不放弃伪元素标题并实际为标题插入一个元素。jsfiddle.net/6pem20px

标签: html css responsive-design


【解决方案1】:

我认为在看了你的小提琴之后你的部分问题是你的父 div 都没有将高度属性设置为静态的东西。如果您尝试将 span 样式更改为 300px,您会看到它发生了变化:

span.text-content {
  height: 300px;
}

或者,将该文本跨度的每个父级的高度设置为 100% 或其他值,但每个父级都必须存在高度:

<div class="column large-6"> //set to 100% or something
   <ul class="img-list">  //set to 100% or something
     <li>  //set to 100% or something
       <a href="#">
         <img src="https://www.ricoh.com/r_dc/r/r8/img/sample_08.jpg" />
         <span class="text-content">
           <span>Hello@!</span>
        </span>
      </a>
    </li>
 </ul>

这应该可以正常工作,这是您的小提琴的更新:http://jsfiddle.net/f32kn4h5/3/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-08
    • 1970-01-01
    • 2015-01-09
    • 2016-12-30
    • 2014-09-09
    • 1970-01-01
    • 1970-01-01
    • 2015-08-06
    相关资源
    最近更新 更多