H5中img的实际占地在底部图片大了4个像素

问题描述

CSS
    .img2 {
                height: auto;
                /* 设置漂浮 */
                float: left;
                /* 设置溢出 */
                overflow: hidden;

html

<div class="img2"><img src="img/img1.jpeg" width="333px" ></div>

目的:是未来让DIV根据图片的大小去设置宽高。

可实际的结果与我认为的有写不同

可以很明显的发现DIV的高度为456.94px而img高度为452.94。即DIV比IMG大了4个像素。


问题原因

经过查询资料发现问题原因为:img标签为行内块元素

行内元素会为同行的文字预留一些位置

如下图

可以看到字母g的下半段在img下方。


解决方案

即然问题原因找到了,那么解决方案就多了去了,

1.将img通过display改变为块元素。即在CSS中加入   display:block;

2.img图片是行内块元素,它有 vertical-align 属性,它的默认值baseline,baseline的对齐正好是与x字母的下端对齐。所以空白的部分是为了能使div父元素能容纳下g、j、p、y这样的元素,可将vertical-align 设置为 middle 或者 top。 

。。。。


.....总之,解决方案有很多比如,直接修改DIV大小等等,那些都会有些违背了初衷,所以这里就不推荐,也比去一一介绍了,想要了解的小伙伴可自行去了解。

参考 :https://jingyan.baidu.com/article/7082dc1c69dc6fe40a89bdfe.html

这是我在学习H5的过程中遇到的问题和解决方法,希望能对大家有点帮助。觉得有用可以点个小赞

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值