Вы можете попробовать градиент следующим образом:
h1 {
padding: 5px;
background:
linear-gradient(red,red) top center/calc(100% - 15px) 5px,
linear-gradient(red,red) bottom center/calc(100% - 15px) 5px,
linear-gradient(red,red) left center/5px calc(100% - 15px),
linear-gradient(red,red) right center/5px calc(100% - 15px);
background-repeat: no-repeat;
display:inline-block;
}
<h1>
A heading title
</h1>
Вы можете ввести переменную CSS, чтобы упростить обработку:
h1 {
padding: var(--p,5px);
margin:10px;
background:
linear-gradient(red,red) top center/calc(100% - var(--d,10px)) var(--p,5px),
linear-gradient(red,red) bottom center/calc(100% - var(--d,10px)) var(--p,5px),
linear-gradient(red,red) left center/var(--p,5px) calc(100% - var(--d,10px)),
linear-gradient(red,red) right center/var(--p,5px) calc(100% - var(--d,10px));
background-repeat: no-repeat;
display:inline-block;
}
<h1>
A heading title
</h1>
<h1 style="--p:10px;--d:20px">
A heading title
</h1>
<h1 style="--d:30px">
A heading title
</h1>
<h1 style="--d:0px">
A heading title
</h1>