css - 悬停功能和渲染无法按预期工作以覆盖图像
问题描述
我希望我的图像在悬停时显示覆盖 1. 大小/尺寸相同 2. 具有不透明度的 bg 颜色和 3. 显示文本。我正在使用下面的 CSS,但默认情况下会显示覆盖(my-work-overlay)类,没有悬停活动,即使我的父 div 'my-work-preview' 应该是。在页面上提供我的自定义 CCS + html。
我多次检查了我的类名,并且代码看起来对我来说是正确的,my-work-overlay 默认显示而不是悬停。
CSS
.my-work-preview {
position: relative;
width: 100%;
}
.my-work-image {
display: block;
width: 100%;
height: auto;
border-radius: 25px;
}
.my-work-overlay {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: 100%;
width: 100%;
opacity: 0.8;
transition: .5s ease;
background-color: #000000;
border-radius: 25px;
}
.my-work-preview:hover .my-work-overlay {
opacity: .8; border-radius: 25px;
}
.my-work-text {
color: white;
font-size: 20px;
font-family: sofia-pro;
font-style: bold;
position: relative;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
text-align: center;
}
<a href="http://www.theyummyheart.com" target="_blank">
<div class="my-work-preview">
<img src="https://static1.squarespace.com/static/5d35e760a6e4d600012adfba/t/5d72a84d4d671305694b4763/1567795869852/the-yummy-heart-preview.png?format=500w" alt="The Yummy Heart Preview" class="my-work-image">
<div class="my-work-overlay">
<div class="my-work-text"><h3>
The Yummy Heart
</h3>Web Design<br>Copy Editing<br>SEO</div>
</div>
</div></a>
解决方案
您已将 opacity 设置opacity: 0.8;
为 上的默认属性div.my-work-preview
,这会导致悬停不起作用,禁用不透明度或将其值更改为其他值,将解决悬停无法正常工作的问题。
.my-work-preview {
position: relative;
width: 100%;
}
.my-work-image {
display: block;
width: 100%;
height: auto;
border-radius: 25px;
}
.my-work-overlay {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: 100%;
width: 100%;
opacity: 0;
transition: .5s ease;
background-color: #000000;
border-radius: 25px;
}
.my-work-preview:hover .my-work-overlay {
opacity: .8; border-radius: 25px;
}
.my-work-text {
color: white;
font-size: 20px;
font-family: sofia-pro;
font-style: bold;
position: relative;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
text-align: center;
}
<a href="http://www.theyummyheart.com" target="_blank">
<div class="my-work-preview">
<img src="https://static1.squarespace.com/static/5d35e760a6e4d600012adfba/t/5d72a84d4d671305694b4763/1567795869852/the-yummy-heart-preview.png?format=500w" alt="The Yummy Heart Preview" class="my-work-image">
<div class="my-work-overlay">
<div class="my-work-text"><h3>
The Yummy Heart
</h3>Web Design<br>Copy Editing<br>SEO</div>
</div>
</div></a>
推荐阅读
- c# - 如何使用 C# 在树视图中显示 SQL 数据(4 级深度)
- objective-c - 静态库中的类别在运行时未重新识别
- java - 垃圾收集器没有记录任何东西,我们有内存问题
- javascript - 如何创建列表项随机化器但只显示一次?
- python - 请求多页地址,在不更改 url 的情况下更改页面
- typo3 - TYPO3 将 vom 11.2.0 升级到 11.5.0 - 表单扩展和 EXT 的问题:前端中的路径
- javascript - 有没有办法循环遍历 HTML 测验以从“laber for”中获取值为“true”的文本?
- asp.net-mvc - 在 ASP.NET MVC 应用程序的 x 可编辑文本字段中自动完成
- r - cldList() 函数在添加紧凑型字母显示时表现异常
- amazon-cloudfront - VideoJS - 重定向具有预签名 URL 的请求