图片来自网络
inline, inline-block元素之间的换行符会造成类似空格的空白。不知道你遇到过没?比如以下代码:
<a>1</a><a>2</a>
这种问题对布局影响不大,容易被忽略。但是某些极端情况就会把这个问题放大。例如以下代码:
<ul> <li>Item content</li> <li>Item content</li> <li>Item content</li></ul><style>li{ width:33.3%; display:inline-block; background:#abc; }</style>
这样一行的结构,精确的分配了行内元素的宽度,而换行产生的空白的影响被放大了。如何解决这种问题呢?
<ul><li>Item content</li><li>Item content</li><li>Item content</li></ul>
<ul> <li>Item content</li><!----><li>Item content</li><!----><li>Item content</li></ul>
<ul> <li>Item content</li ><li>Item content</li ><li>Item content</li></ul>
.inline-block-list li { margin-left: -4px;}
本文通过Segmentfault,参考了文章Remove Whitespace Between Inline-Block Elements.