Что за магия с относительными размерами элементов HTML CSS?
У блоков с display: inline-block есть свои отступы, их надо убрать, указав контейнеру font-size: 0;snippet
Между inline элементами по умолчанию всегда есть пробельный символ, как его убрать выше уже подсказали, альтернатива использовать float или flex-box