css之实现图片自适应

博客介绍了利用CSS实现图片自适应及正方形显示的方法。一是用position实现图片自适应,可隐藏多余部分并按固定宽高自适应;二是采用padding补偿法,通过background-image实现自适应;还提及了图片以正方形显示的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


原图如下:
在这里插入图片描述
在开发中,想在固定的高度和宽度中显示不一样的图片时,就会出现压缩,导致图片最后显示不好看,以下提供几种方法进行调整:

一、position实现图片自适应

<div class="father1">
    <img src="../../Desktop/picture/3fl7g412z71hvsv6o5tk0ngaw.jpg" alt="">
  </div>

css如下:

    .father1 {
      width: 300px;
      height: 400px;//修改这里即可
      border: 1px solid black;
      margin: 20px auto;
      position: relative;
      display: block;
      overflow: hidden;


    }

    .father1>img {
      position: absolute;
      top: 50%;
      left: 50%;
      display: block;
      transform: translate(-50%, -50%);
      height: 100%;
    }

最后结果显示:
隐藏了左右多余的图片,且做到了根据固定的高度和宽度进行自适应
在这里插入图片描述

二、padding补偿法

使用background-image实现图片自适应

 <div class="border_img">
      <div class="inline_img"></div>
 </div>
.border_img {
        width: 300px;
        height: 400px;//修改宽高时,需要修改padding-top的值
        border: 1px solid #000;
      }

      .inline_img {
        padding-top: 133.3%;//使用高度除以宽度
        background-image: url('../../Desktop/picture/3fl7g412z71hvsv6o5tk0ngaw.jpg');
        background-size: cover;
        background-position: center;
      }

结果显示:
在这里插入图片描述

三、图片以正方形显示

<style>
 .image-container1 {
      background: url('../../Desktop/picture/3fl7g412z71hvsv6o5tk0ngaw.jpg') 50% 50% no-repeat;
      background-size: cover;
      background-repeat: no-repeat;
      width: 70px;
      height: 70px;
    }
</style>
<div class="image-container1"></div>

结果显示:
在这里插入图片描述
换为另一种实现方式为:

.image-container1 {
      /* 50% 50% 无法确认为是size还是position的值 */
      background-image: url('../../Desktop/picture/3fl7g412z71hvsv6o5tk0ngaw.jpg');
      background-position: 50% 50%;
      background-size: cover;
      background-repeat: no-repeat;
      width: 70px;
      height: 70px;
      //当然后续可以添加圆角,边框,使其显示为自己想要的形式
      /* border-radius: 50%; */
      /* border: 1px solid black; */
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值