前言
为了个文档结构条理性,我也来个前言,虽然不知道写个啥。但向大神学习态度不能丢。因为这个问题简单,逻辑性不强,就直接上问题上代码上解决方案了。大神勿喷,有什么问题,别的解决方案方法,希望大神们多多指点
问题描述
行内块元素之间,浏览器会有一个默认的间距,例如照片之间的间距,或者是别的元素类型直接转换过来的行内块元素,浏览器都会有默认的间距。话不多说,直接上图解释其中的bug。

实现上述效果代码如下:
<!DOCTYPE html> <html> <head> <title>test测试行内块之间的默认边距</title> <meta charset="utf-8"/> <style type="text/css"> *{ margin:0; padding:0; } .wrap div{ width: 300px; height: 300px; display:inline-block; } .wrap div:first-child{ background-color: green; } .wrap div:last-child{ background-color: blue; } img{ width:300px; height: 300px; } .content{ /*word-spacing:-20px;*/ /*font-size:0;*/ } </style> </head> <body> <div class="wrap"> <div></div> <div></div> </div> <div class="content"> <img src="tv01.jpg"> <img src="tv01.jpg"> </div> <textarea rows="2" cols="2"></textarea> <textarea rows="5" cols="5"></textarea> </body> </html>
解决方案
最近总结了一些方法来解决这样的bug,常用的方法有:
1.将所有的行内块元素直接设置浮动,个人认为最直接的方法,当然是在适当的场景中,因为过度的浮动会产生需要清除浮动的必要(自己也总结常用的清除浮动的方法,有兴趣可以喵喵看看,大神越过)。
2.在产生边距的行内块的父元素设置属性:font-size:0px;
3.在父元素上设置,word-spacing(词边距)的值设为合适的负值即可
4.在html中将行内块元素在同一行显示,不要进行美观缩进或者换行
1.将所有的行内块元素直接设置浮动,个人认为最直接的方法,当然是在适当的场景中,因为过度的浮动会产生需要清除浮动的必要(自己也总结常用的清除浮动的方法,有兴趣可以喵喵看看,大神越过)。
2.在产生边距的行内块的父元素设置属性:font-size:0px;
3.在父元素上设置,word-spacing(词边距)的值设为合适的负值即可
4.在html中将行内块元素在同一行显示,不要进行美观缩进或者换行