CSS 图片宽度为100%时,如何设置图片的宽度和高度相等

一、方式一:

1、html

<div class="img-wrap">
    <img :src="./img.jpg">
</div>

2、css

复制代码
 .img-wrap {
    position: relative;
    width: 100%;
    height: 0px;
    padding-top: 100%; // padding-bottom都可以
    img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
  }
复制代码

3、原理:

外层div中,padding-top:100%; 这个padding-top中的百分百是根据width去计算的。所以padding-top拿到了跟width一样的大小,又通过padding去填充了容器的高度,所以实现了div宽度百分百,高度跟宽度一样大小;

内部img标签的position:absolute。使其成为块状元素,可以设置img宽高,均为外层div盒子的百分百,由此实现img宽度百分百,高度跟宽度一样大小

二、方式二

此属性可直接在元素上设置宽高比,但存在兼容性问题,可在手机端使用

.aspect-ratio {
    aspect-ratio: 1/1; // 元素宽高比为1比1
}

 

posted @   小阿飞ZJF  阅读(2080)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2021-06-08 uni-app 微信小程序分包优化
2021-06-08 通过vue-cli命令行安装uni-app
2021-06-08 vue word预览–mammoth.js
2021-06-08 uni-app如何使用vant-ui
点击右上角即可分享
微信分享提示