html - 在不影响文本的情况下使背景图像变暗

标签 html css z-index transparent

我快到了,但是 a-tag 内的文本应该不会受到半透明覆盖的影响:

http://jsfiddle.net/ChrisPrefect/GPLfM/

无论您是否将鼠标悬停在图片上,文本都应为亮白色。

如有必要,我可以添加更多 html 元素,但我希望将其保持在最低限度。

添加了一个新元素:

.tint:before

具有半透明背景:

background: rgba(0,0,0, 0.5);

但是“before”元素也覆盖了 a 元素内的文本并使其变暗。

这可以通过 z-index 排序解决吗?

谢谢! 克里斯

最佳答案

这可以通过正确排列元素的堆叠顺序轻松解决。注意在文本内容上使用相对定位。

.block {
  display: inline-block;
  color: #fff;
  position: relative;
  width: 200px;
  height: 200px;
  padding: 10px;
}

.block:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.5);
  transition: all .2s linear;
}

.block:hover:before {
  background: none;
}

.block h2,
.block p {
  position: relative;
}
<a class="block" style="background-image:url(http://cdn.impressivewebs.com/2011-11/greece001.jpg);" href="#">
  <h2>Dogs are great sleepers</h2>
  <p>Mine can sleep all day long</p>
</a>


<a class="block" style="background-image:url(http://cdn.impressivewebs.com/2011-11/greece001.jpg);" href="#">
  <h2>Dogs are great sleepers</h2>
  <p>Mine can sleep all day long</p>
</a>

关于html - 在不影响文本的情况下使背景图像变暗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21957356/

相关文章:

javascript - 使用 javascript 的剪刀石头布游戏

css - 如果属性不同,为什么堆叠上下文的根元素不堆叠?

css - IE 中的 z-index 问题仅适用于动态数据

javascript - 将 z-index 添加到 FullCalendar 中的周行

javascript - Jquery Slider 在 Chrome 中显示正常但在 Firefox 中不显示

html - CSS 谷歌广告定位

javascript - 我无法在 SVG 中更改颜色

javascript - 在函数中使用/添加正则表达式(?)将 HTML 表导出到 Excel?

css - 网站在使用 FF25 OSX 10.9 时挂起

css - IE9 和实心边框的边框半径效果