Вариант с % не очень хорошо работает.
Почему это?
Задаете каждому 23% (ну или сколько хотите, чтобы на отступы осталось).
Если расстояния между блоками фиксированные, не в %, то calc
width: calc(25% - Фикс.Расстояние.Поделенное.на.3 );
Ну и родителю:
display:flex;
justify-content: space-between;
Либо аналогично с inline-block + отступы у всех кроме одного крайнего.