去除inline-block元素间的间距
一、现象描述
真正意义上的inline-block水平呈现的元素间,换行显示或者空格隔开的情况下会有间距,这是因为浏览器在解析时,会将换行等读取成一个空格导致。
二、移出空格的方法
① 我们可以去掉元素之间的换行和空格,这样间距自然就没有了,但是这样会降低代码的可读性,不可取。
<div> <a href=""> 链接1</a><a href=""> 链接2</a><a href=""> 链接3</a><a href=""> 链接4</a> </div> <div> <a href="">链接1</a ><a href="">链接2</a ><a href="">链接3</a ><a href="">链接4</a> </div> <div> <a href="">链接1</a><!-- --><a href="">链接2</a><!-- --><a href="">链接3</a><!-- --><a href="">链接4</a> </div>
② 使用margin负值,但是,由于外部的不确定因素,以及最后一个元素多出来的负margin值的问题,这个方法也不太可取。
<style> a { background: pink; display: inline-block; padding: .5em 1em; margin: -3px; } </style> <body> <div> <a href="">链接1</a> <a href="">链接2</a> <a href="">链接3</a> <a href="">链接4</a> </div> </body>
③ 给父级设置font-size:0,然后再在子元素中设置我们的字体大小,这样也可以去掉元素间的间距。
<style> div{ font-size: 0; } a{ font-size: 16px; background: pink; } </style> <div> <a href="">链接1</a> <a href="">链接2</a> <a href="">链接3</a> <a href="">链接4</a> </div>
④ 删掉闭合标签。
<div> <a href="">链接1 <a href="">链接2 <a href="">链接3 <a href="">链接4 </div>
⑤ 使用letter-spacing。
<style> div{ letter-spacing: -6px; } a{ letter-spacing: 0; background: pink; } </style> <div> <a href="">链接1</a> <a href="">链接2</a> <a href="">链接3</a> <a href="">链接4</a> </div>
⑥ 使用word-spacing。
<style> div{ word-spacing: -6px; } a{ word-spacing: 0; background: pink; } </style> <div> <a href="">链接1</a> <a href="">链接2</a> <a href="">链接3</a> <a href="">链接4</a> </div>