html图片宽高成比例,纯css实现宽高度等比例变化的四种方法

本文介绍了在网页前端布局中,如何使元素宽度和高度按比例协调变化的四种解决方案。包括使用隐藏图片、vmin单位、calc计算以及padding-bottom方法。这些方法适用于响应式自适应网页,确保元素在不同设备和屏幕尺寸下保持一致的宽高比。
摘要由CSDN通过智能技术生成

网页前端布局中,我们经常需要元素宽度高度等比例协调变化,特别是响应式自适应网页,下面我们将分享4种解决方案。

方法1:使用一个隐藏的图片

这个方法不需要考虑任何兼容性,PC移动端完美运行。除了增加了一个dom结构,但是相对与一个页面成百上千的代码来说,不值一提

我们知道,div容器如果不给定高度,它的高度会随着容器内部的元素变化而撑大,这个时候,我们在容器内部添加一张符合我们宽高比例的图片,给图片设置宽度100%;高度auto。不管我们的父容器如何变化,内部的img宽度都是100%,图片是会严格按照比例i自动缩放的,相应的,我们内部的子容器的盖度也就会按照比例缩放了#container {    width: 100%;

}  .attr {    background-color: #008b57;

}  .attr img{    width: 100%;    height: auto;

}

   

如果你觉得增加img标签多发了http请求,也可以采用base64图片编码帮你解决这个问题,适合不太大的图片,这样可以省掉http请求。

方法2:使用vmin单位

这个单位也是css3的新单位(css3大法好~),我们将父容器的宽度和高度定义为相同的vmin,这样父容器的高度和宽度就是相同值,这个时候,子容器的宽高值设为百分比,不管父容器大小如何变,子容器的高度和宽度比都是不会变的。

单位 说明

vw 相对于视窗的宽度

vh 相对于视窗的高度

vmin 相对于视口的宽度或高度中较小的那个被均分为100单位的vmin

vmax 相对于视口的宽度或高度中较大的那个被均分为100单位的vmax#container{  width: 100vmin;  height: 100vmin; }

.attr {  width: 50%;  height: 50%;  background-color: orange;}

方法3:使用cale计算

cale()是css3的心特性,它的值可以是一个表达式,这里我们关心的是。calc中的百分比也是按照父容器的百分比垃圾算的.attr{  width:50%;  height: calc(50%);}

方法4:padding-bottom边距实现

这里方法非常巧妙,由于padding-bottom的属性值百分比是按照父容器的宽度来计算的,所以这里我们设置容器宽度为父容器的50%;padding-bottom也为50%;就都是父容器宽度的50%;显示出来就是一个完美的正方形了

看个代码:

#container {    width: 80%;    height: 500px;}

.attr {    width: 50%;    height: 0;    padding-bottom: 50%;    background-color: #008b57;}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值