【发布时间】:2023-04-06 03:14:02
【问题描述】:
我经营一个照片博客,我发布的每个图像文件的底部都有一个 20 像素高的“页脚”,其中包含一些版权信息。现在,我只需要那些以防有人保存图片的热链接;我不需要在我自己的网站上显示页脚,所以我通过用这样的白色 div 覆盖每张照片的底部 20px 来隐藏它们:
<style>
.photo_container {
position: relative;
}
.footer_hide {
position: absolute;
bottom: 0;
left: 0;
height: 20px;
width: 100%;
background: #fff;
}
</style>
<div class="photo_container">
<img src="photo.jpg">
<div class="footer_hide"></div>
</div>
这适用于以 100% 大小显示的图像,但为了使我的网站适合移动设备,我将它们缩小以适应较小的视口:
.photo_container img {
display: inline-block;
height: auto;
max-width: 100%;
}
显然,“页脚隐藏器”无论如何都保持 20 像素高。假设图像的尺寸未知/可变,是否有任何纯 CSS 方法可以相应地缩小它(或者可能是一种完全不同的方法来实现我在这里想要实现的目标)?
【问题讨论】:
-
除了在覆盖 div 上使用 % 值之外,我不确定如何。页脚是总高度的固定百分比值吗?
-
@Paulie_D 不,高度是可变的,页脚在 100% 高度处始终为 20px。
-
那不行,恐怕不行。需要计算容器的高度,然后计算覆盖层的高度……为此,您需要 javascript。
-
如果您使用“rem”单位而不是“px”会怎样?在这种情况下,隐藏器大小将取决于 html 标签字体大小定义,默认情况下隐藏器高度将根据屏幕大小进行缩放。像“身高:1.5rem;”这样的东西在 .footer_hide 中。
标签: css