display-inline-block是讓元素在一行顯示,但是這些元素在html里面是上下行排列的,所以中間有換行符,於是並排顯示就有了換行符帶來的空隙。那么如何解決呢?
方案一:將html標簽要display:inline-block 的元素寫在一行。缺點:代碼可讀性差。
方案二:給父元素設置font-size:0,缺點是子元素如果里面有文字,文字會消失不見,所以又要給子元素設置font-size:0,增加了代碼量。
方案三:給元素設置float:left,缺點高度塌陷,要清楚浮動。
方案四:設置子元素的margin-left為負值,但是元素之間的間隙大小是根據上下文的字體大小確定的,而每個瀏覽器的換行空隙大小不同,如果font-szie:16px,chrome空隙為8px,火狐空隙為4px.所以這個方法不通用。
方案五:設置父元素 display:table;word-spacing:-1em;目前這個方法可以完美解決,且兼容其他瀏覽器。