<img>踩坑

一、img与父级底部会出现空隙

想必大家都遇到过这种情况,这种现象会出现在img与文字有共同父级且渲染在同一行的时候。
alt
html:

<body>
    <div class="content">
        <img class="content__img"src="../images/gaoqiqiang.jpg" alt="">
        我想吃鱼了
    </div>
</body>

css:

.content{
        width: 600px;
        &__img{
            width: 100px;
            height: 100px;
        }
    }

我们会发现图片与底部会有空隙,这是因为图片没有基线,默认设置的vertical-align: baseline会导致图片的底部与父级的基线对齐,所以与父级底部就会有空隙。

基线如图所示:
在这里插入图片描述

如何解决

  1. 设置vertical-align: bottom 或 middle或者支持vertical-align的其他属性。
vertical-align: middle

在这里插入图片描述

  1. 引文基线是基于line-height的,所以将line-height的值设为足够小,也会使得图片与底部没有空隙,但会导致文字超出边框。
line-height: 20px

在这里插入图片描述

  1. 父级使用flex弹性布局或者图片使用浮动布局都可以解决此问题。
display: flex or float: left

在这里插入图片描述

二、img设置固定宽高会拉伸变形

试想这种情况,当图片需要作为头像使用且有固定宽高时,如果我们设置为固定的宽高会导致图片压缩变形。

在这里插入图片描述
css:

 &__img{
    width: 80px;
    height: 100px;
 }

如何解决

其中一种比较好的解决方法是将css属性object-fitobject-position配合使用,我们可以设置object-fit:cover并使用object-position调整位置。
在这里插入图片描述
css:

 &__img{
     float: left;
     width: 80px;
     height: 100px;
     object-fit: cover;
     object-position: left bottom;
 }

这样不会导致图片的拉伸或压缩,可以较好的展现需要设置固定宽高的情况。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值