Вы можете использовать один элемент и градиент, тогда у вас не будет проблем с центрированием:
.arrow {
width:80px;
height:80px;
background:
linear-gradient(blue,blue) bottom right/40px 4px,
linear-gradient(blue,blue) bottom right/4px 40px,
linear-gradient(
to top right,
transparent calc(50% - 2px),
blue calc(50% - 2px),
blue calc(50% + 2px),
transparent calc(50% + 2px));
background-repeat:no-repeat;
transform:rotate(45deg);
margin:20px;
}
<div class="arrow">
</div>
Вы также можете легко настроить размер:
.arrow {
width:var(--s,80px);
height:var(--s,80px);
background:
linear-gradient(blue,blue) bottom right/calc(var(--s,80px)/2) calc(var(--t,2px)*2),
linear-gradient(blue,blue) bottom right/calc(var(--t,2px)*2) calc(var(--s,80px)/2),
linear-gradient(
to top right,
transparent calc(50% - var(--t,2px)),
blue calc(50% - var(--t,2px)),
blue calc(50% + var(--t,2px)),
transparent calc(50% + var(--t,2px)));
background-repeat:no-repeat;
transform:rotate(45deg);
margin:20px;
display:inline-block;
}
<div class="arrow">
</div>
<div class="arrow" style="--t:3px;--s:60px">
</div>
<div class="arrow" style="--t:1px;--s:40px">
</div>
<div class="arrow" style="--t:2px;--s:20px">
</div>
<div class="arrow" style="--t:1px;--s:20px">
</div>