问题:自适应高度的块级元素内添加图片后,其高度会比图片高度多出一块

简单代码如下:

<!doctype html>
<html><head><style>.box{width:533px;margin:100px auto;border:1px solid red;}</style></head><body><div class="box"><img src="http://f.hiphotos.baidu.com/image/h=300/sign=12e703ffa5ec8a130b1a51e0c7029157/c75c10385343fbf2f7da8133bc7eca8065388f2f.jpg" width="533px" height="300px" alt="美女"/></div></body>
</html>    

效果图如下:

1、我们可以发现div的高度比图片的高度多出来了几个像素,这是为什么呢?

 这是因为img标签为行块级标签,它既有块级标签的特性,也有行级标签的特性。这就需要我们理解行级标签中vertical-align属性各个值的含义了,通常它的默认值为baseline(基线),而baseline和bottom之间是有一定距离的,由于这个距离的存在才造就了这块空白的存在,只要是图片属性是display:inline-block,这块空白就会存在。

2、我们一般怎么解决呢?

(1)给img标签添加display:block属性

(2)给img标签添加vertical-align:top;属性

(3)给div标签添加line-height:0或者font-size:0;属性

(4)给定div标签宽度和高度,然后添加overflow:hidden;属性

(5)给img标签添加float:left属性,通常用于图片和文字的混合排列

总结:行级标签默认是和父级元素的baseline(基线)对齐的,而父级的baseline(基线)和其bottom(底边)之间又是有距离的,所以我们通常给行内标签添加vertical-align:top/align:top/middle/bottom任意一个值就可以解决这个问题;其他解决方案视情况而定;

html中常见的小问题(1)相关推荐

  1. 编程中常见的小错误·

    1.最低级的错误:单词拼写错误 2.要求源文件名称必须跟类名称一致 3.所有的标点符号必须是英文格式下的 4.成对编程 5注意缩进 缩进tab 向前缩进 shift+tab 6.编译: javac H ...

  2. 扒一扒我们生活中常见的品牌小程序

    大众喜欢的知名品牌,从我们日常吃.穿.住.行等几个层面,每个人心中都有自己信赖和认可的那一款.每到活动大促,恨不得饭都省了,也要挤时间扒一扒自己能买什么.天猫.淘宝.京东等成为了我们常去网购的平台,买 ...

  3. 操作系统中进程并发运行的过程_三种电磁流量计运行过程中常见故障解决详情!...

    原标题:三种电磁流量计运行过程中常见故障解决详情! 昨天给大家介绍了电磁流量计的一些典型故障,今天我们继续来谈电磁流量计的故障问题!电磁流量计在正常的保养与维护之后,在正常使用的过程中依旧是会因为当时 ...

  4. mysql等待事件类型_Oracle中常见的33个等待事件小结

    在Oracle 10g中的等待事件有872个,11g中等待事件1116个. 我们可以通过v$event_name 视图来查看等待事件的相关信息 一. 等待事件的相关知识 1.1 等待事件主要可以分为两 ...

  5. JavaScript 面试中常见算法问题详解

    JavaScript 面试中常见算法问题详解,翻译自 https://github.com/kennymkchan/interview-questions-in-javascript.下文提到的很多问 ...

  6. 项目中常见错误总结一

    项目中常见错误总结一 以下是在项目开发过程中会遇到的错误总结,会不定期进行更新: 1.json-lib 的maven dependency遇到的问题: 项目中要用到json-lib,mvnreposi ...

  7. 学完css3的总结,css3中常见的单位及总结

    摘要:css3中常见的单位:1. px:绝对单位,页面按精确像素展示2. em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内 ...

  8. java api集合,javaAPI_集合基础_集合中常见操作示例

    集合中常见的操作 1.list集合去重 //使用HashSet去重 public static List removeDuplicate(List list) { HashSet h = new Ha ...

  9. 深度学习中常见的损失函数

    文章来源于AI的那些事儿,作者黄鸿波 2018年我出版了<TensorFlow进阶指南 基础.算法与应用>这本书,今天我把这本书中关于常见的损失函数这一节的内容公开出来,希望能对大家有所帮 ...

最新文章

  1. pyspark AttributeError: 'NoneType' object has no attribute 'setCallSite'
  2. SpringBoot的构造方法中使用@AutoWird注入的类会报错null
  3. LeetCode-剑指 Offer 12. 矩阵中的路径
  4. Linux 创建桌面应用程序图标 (Ubuntu 18.04 16.04、Linux Mint、Deepin、等均适用 )
  5. HDU4475(找规律+预处理加速)
  6. Authorization object的where used列表功能,位于事务码SUIM
  7. 哈哈哈,只有程序员才懂的黑色幽默 ... ...
  8. empty()、isset()、is_null()的区别
  9. [ZJOI2006]物流运输
  10. linux双系统安装nvidia,ubuntu 16.04(Windows 10双系统+grub引导)无法进入tt1~tt6(NVIDIA驱动安装相关-黑屏,login loop,分辨率)...
  11. Ubuntu 16.04下安装 PCL简单方法
  12. IOl数据流中的字节流
  13. AMD AM4主板首曝:A320芯片组 惠普打造
  14. Google体系地图纠偏算法
  15. 快捷指令,自动化脚本工具
  16. 记一次AWK程序耗时日志分析
  17. 2019---高考加油!!!
  18. Windows Batch 常用命令
  19. 某汽车轮渡口,过江渡船每次能载 10 辆车过江。
  20. Life feelings--10--inspiration and inner motivation

热门文章

  1. cmakelists语法_CMakeList语法知识
  2. python做些什么项目_Python 的练手项目有哪些值得推荐
  3. java 定义变量时 赋值与不赋值_探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值...
  4. 管理任务执行-有效执行
  5. NOIP模拟测试11「string·matrix·big」
  6. C#/.Net操作MongoDBHelper类
  7. linux 中配置假域名来测试
  8. 一元操作符——递增和递减操作符(第一次写博客,紧张.)
  9. Android深度探索(卷1)HAL与驱动开发 读书笔记(第四章)
  10. html用a标签怎么提交表单?