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