首页  >  文章  >  web前端  >  如何创建高度不同但宽度一致的 CSS 图像叠加?

如何创建高度不同但宽度一致的 CSS 图像叠加?

Patricia Arquette
Patricia Arquette原创
2024-10-30 10:09:27426浏览

How to Create a CSS Image Overlay with Different Heights but Consistent Width?

图像上的 CSS 叠加:综合指南

简介

创建图像叠加是网页设计中的常见任务。它允许您在图像上添加文本、图标或其他信息,从而创建具有视觉吸引力和信息丰富的效果。在本文中,我们将探讨如何使用 CSS 实现此目的,特别关注图像具有不同高度但保持一致宽度的情况。

创建图像叠加层

为了实现这种效果,我们将使用 div 容器来保存图像和覆盖内容。以下 CSS 规则将创建叠加层:

.image-container {
    position: relative;
    width: 200px;
}

.image-container .after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    display: none;
    color: #FFF;
}

.image-container:hover .after {
    display: block;
    background: rgba(0, 0, 0, .6);
}

HTML 结构

HTML 结构将包含图像和叠加层内容:

<div class="image-container">
    <img src="image.jpg">
    <div class="after">This is some content</div>
</div>

增强叠加层

为了改善叠加层的外观,我们可以添加其他 CSS 样式。例如:

.image-container .after .content {
    position: absolute;
    bottom: 0;
    text-align: center;
    width: 100%;
    padding: 5px;
}

这将垂直对齐底部的覆盖内容。

自定义演示

这是一个更复杂的演示,带有额外的内容样式,例如图标和文本:

.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;
}
<div class="image-container">
    <img src="image.jpg">
    <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 图像叠加?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn