我正在努力实现这样的目标:

这个效果

当我将鼠标悬停在图像上时,我想在该图像上添加一些文本和图标的深色.

我被困在这里了.我找到了一些教程,但它们对这个 case 不起作用. 另外,还有一个问题--每个图像都有不同的高度.宽度总是相同的.

如何才能达到这种效果?

推荐答案

您可以通过以下简单的CSS/HTML实现这一点:

.image-container {
    position: relative;
    width: 200px;
    height: 300px;
}
.image-container .after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    color: #FFF;
}
.image-container:hover .after {
    display: block;
    background: rgba(0, 0, 0, .6);
}

HTML

<div class="image-container">
    <img src="http://lorempixel.com/300/200" />
    <div class="after">This is some content</div>
</div>

Demo: http://jsfiddle.net/6Mt3Q/


UPD:这是一个很好的最终演示,带有一些额外的样式.

.image-container {
    position: relative;
    display: inline-block;
}
.image-container img {display: block;}
.image-container .after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    color: #FFF;
}
.image-container:hover .after {
    display: block;
    background: rgba(0, 0, 0, .6);
}
.image-container .after .content {
    position: absolute;
    bottom: 0;
    font-family: Arial;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    padding: 5px;
}
.image-container .after .zoom {
    color: #DDD;
    font-size: 48px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -30px 0 0 -19px;
    height: 50px;
    width: 45px;
    cursor: pointer;
}
.image-container .after .zoom:hover {
    color: #FFF;
}
<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" rel="stylesheet"/>

<div class="image-container">
    <img src="http://lorempixel.com/300/180" />
    <div class="after">
        <span class="content">This is some content. It can be long and span several lines.</span>
        <span class="zoom">
            <i class="fa fa-search"></i>
        </span>
    </div>
</div>

Css相关问答推荐

如何使用css::Part()定位Web组件shadowDOM中的第N个元素

如何在Angular material 选项卡中设置自定义圆角下划线的样式

如何将另一种自定义位置 colored颜色 添加到三角形CSS中?

如何在不重叠侧边栏的情况下尽可能使元素居中?

防止表格水平拉伸整个Blazor页面

截断风景中的柔子或强制在其自己的线上,如果是肖像

如何使用遮罩创建手绘SVG动画

可以在 JavaFX CSS 中同时使用 dropshadow 和 insideshadow 吗?

使用 Vuetify 的 sass 变量时出错

为什么所有选项卡都没有显示在 React 的 MUI 选项卡组件中?

如何更改导航栏标题中链接的文本 colored颜色 和导航丸中的链接(在shiny 的应用程序中)?

css ::part 伪 Select 器 Chrome 兼容性?

在活动状态下更改按钮的外观

弹簧靴.一个文件捕获 CSS 其他没有

有条件地覆盖 CSS 中的 AntD Select 样式

在 vuetify 中跨 `default.vue` 和 `index.vue` 维护网格系统

CSS3 的 :root 伪类和 html 有什么区别?

Div Size 自动调整内容大小

溢出的文本可以居中吗?

完成后如何防止css3动画重置?