Как вставить элемент в рамку?
Вот отсюда должен стать понятным базовый принцип построение таких рамок
https://codepen.io/the_human_brian/pen/vOrbBG
Именно такое решение, которое вы написали - самое простое и лучшее.
Либо просто положили внутри relative блока-родителя дочерний блок с absolute и background белого цвета, либо сгенерировали его через псевдоэлемент :before.