С учетом этого HTML и CSS:
span {
display:inline-block;
width:100px;
background-color:palevioletred;
}
<p>
<span> Foo </span>
<span> Bar </span>
</p>
В результате между элементами SPAN будет пространство шириной 4 пикселя.
Демонстрация: http://jsfiddle.net/dGHFV/
Я понимаю, почему это происходит, и я также знаю, что я мог бы избавиться от этого пространства, удалив пробел между элементами SPAN в исходном коде HTML, например:
<p>
<span> Foo </span><span> Bar </span>
</p>
Однако я надеялся на CSS-решение, которое не требует подмены исходного кода HTML.
Я знаю, как решить эту проблему с помощью JavaScript - удалив текстовые узлы из контейнераэлемент (абзац), например, так:
// jQuery
$('p').contents().filter(function() { return this.nodeType === 3; }).remove();
Демо: http://jsfiddle.net/dGHFV/1/
Но можно ли решить эту проблему с помощью только CSS?