我正在尝试使用自身的百分比调整图像的大小。例如,我只想通过将图像大小调整为 50% 来将图像缩小一半。但是应用 width: 50%;
会将图像的大小调整为容器元素的 50%(例如 <body>
的父元素)。
问题是,我可以在不使用 JavaScript 或服务器端的情况下根据自身的百分比调整图像大小吗? (我没有图像大小的直接信息)
我很确定你不能这样做,但我只是想看看是否有智能 CSS 解决方案。谢谢!
原文由 Min Ming Lo 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有两种方法给你。
方法一。
此方法仅调整图像的视觉尺寸而不是 DOM 中的实际尺寸,并且调整尺寸后的视觉状态居中于原始尺寸的中间。
浏览器支持说明: 浏览器统计信息显示在
css
中。方法二。
注意:
img.normal
和img.fake
是同一张图片。浏览器支持说明: 此方法适用于所有浏览器,因为所有浏览器都支持
css
方法中使用的属性。该方法以这种方式工作:
#wrap
和#wrap img.fake
有流量#wrap
有overflow: hidden
因此它的尺寸与内部图像相同(img.fake
)img.fake
是里面唯一的元素#wrap
没有absolute
定位,这样它就不会破坏第二步#img_wrap
hasabsolute
positioning inside#wrap
and extends in size to the entire element (#wrap
)#img_wrap
与图像具有相同的尺寸。width: 50%
onimg.normal
, its size is50%
of#img_wrap
, and therefore50%
of the original image尺寸。