html - 裁剪的图片库不允许 div 覆盖在图片上显示文本
问题描述
在我的 HTML 和 CSS 图片库中,我希望在图片上显示文本。但是,我只能设法获取图像下方的文本。
这是html
代码:
<div class="fleft imgdiv">
<div>Image Name</div>
<img class="galleryimg op80" src='http://qnimate.com/wp-content/uploads/2014/03/images2.jpg'>
</div>
<!-- repeats many many times -->
在这里,我只使用了非常少的 CSS,我唯一尝试做的就是让文本Image Name
显示在图像上方而不是图像下方。
这是我正在使用的 CSS:
.fleft{
float:left;
}
.imgdiv {
width:24%;
height:150px;
position:relative;
overflow:hidden;
margin:0.5%;
}
.imgdiv .galleryimg {
min-width:100%;
min-height:100%;
height:auto;
position:relative;
top:50%;
left:50%;
transform:translateY(-50%) translateX(-50%);
}
.op80{
opacity:0.5;
}
这是一个 jsFiddle,可以更好地理解问题所在。使op80
图像略微透明,使我们能够看到下面的文本
我在这里做错了什么以及如何使文本出现在图像前面而不是图像下方?
解决方案
为图像和文本元素添加 Z-Index 属性。您需要为您的文本 div 创建一个类。我称之为飞行文本,例如。
.fleft{
float:left;
}
.imgdiv {
width:100%;
height:auto;
position:relative;
overflow:hidden;
margin:0.5%;
}
.imgdiv .galleryimg {
min-width:100%;
min-height:100%;
height:auto;
position:relative;
top:50%;
left:50%;
transform:translateY(-50%) translateX(-50%);
z-index:0;
}
.op80{
opacity:1;
}
.flying-text {
color: red;
z-index:1;
position: relative;
text-align: center;
font-size: 2rem;
}
<div class="fleft imgdiv"> <div class="flying-text">Sleepy Cat</div> <img class="galleryimg op80" src='https://www.humanesociety.org/sites/default/files/styles/1240x698/public/2018/06/cat-217679.jpg'></div>
推荐阅读
- javascript - JS 脚本解析失败。是表达式太长还是别的什么?
- azure-data-factory - Azure 数据工厂:如何将时区偏移值添加到时间戳字段
- c++ - 如何将字符从 int 转换为“出现”在控制台中?
- jmeter - 如何在 JMeter 中模拟新用户和现有用户的负载?
- prometheus - 是否有监控 apache carbondata 的方法?
- c# - 如何从自动生成的类(xsd)中实现 xml 序列化
- python - 通过 Windows 操作系统上的 PyQT5 QTBluetooth 模块通过 UUID 发现特定的 GATT 服务
- asp.net - 尝试将角色分配给 asp.net 成员资格 CreateUserWizard 上的已创建用户时出现 System.NullReferenceException
- c# - 在异步 EF 核心拦截器中获取堆栈跟踪
- reactjs - 我对 npx create react app 有一些问题,可以 sbd 告诉我如何解决它,请