1、現象描述瀏覽器
真正意義上的inline-block水平呈現的元素間,換行顯示或者空格隔開的狀況下會有間距,這是由於瀏覽器在解析時,會將換行等讀取成一個空格致使。字體
2、移出空格的方法spa
① 咱們能夠去掉元素之間的換行和空格,這樣間距天然就沒有了,可是這樣會下降代碼的可讀性,不可取。code
<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值的問題,這個方法也不太可取。blog
<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,而後再在子元素中設置咱們的字體大小,這樣也能夠去掉元素間的間距。ci
<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>
④ 刪掉閉合標籤。class
<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。margin
<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>