CSS: чем «outline» отличается от «border»
- Не влияет на положение элемента и его размеры.
- Не позволяет задать рамку с определённой стороны элемента (только сразу со всех).
- На рамку не действует скругление углов, устанавливаемое с помощью свойства
border-radius.
Свойство outline располагает рамку с внешней стороны рамки border.
Не влияет на положение элемента и его размеры
Как известно, высота height и ширина width контента элемента не включают значения полей padding, толщины рамок border / outline и значения отступов margin, однако в размеры самого элемента они входят, кроме толщины рамки, созданной свойством outline.

outline определяет внешние границы элемента без отступов margin, и создаёт вокруг него «виртуальную» рамку, которая не участвует в позиционировании, то есть она абсолютно позиционирована. В этом можно убедиться, если внимательно сравнить два примера ниже.