Border делает отступ для других блоков как исправить?
Если контент с фиксированным размером, то box-sizing, но я полагаю, что у вас высота блока зависит от содержимого. В таком случае предлагаю установить блоку прозрачную рамку такого же размера.block {
    border: 1px solid transparent;
}
и при наведении, просто менять цвет рамки..block:hover {
    border-color: red;
}
таким образом, рамка будет всегда, и при наведении лишь будет меняться цвет.
Добавьте в стиле блока:box-sizing: border-box;