Acabei de fazer o oposto usando :aftere ::afterporque precisava deixar minha borda inferior exatamente 1.3remmais larga:
Meu elemento ficou super deformado quando usei :beforee :afterao mesmo tempo porque os elementos estão alinhados horizontalmente com display: flex, flex-direction: rowe align-items: center.
Você pode usar isso para fazer algo mais amplo ou mais estreito, ou provavelmente qualquer mods de dimensão matemática:
a.nav_link-active {
color: $e1-red;
margin-top: 3.7rem;
}
a.nav_link-active:visited {
color: $e1-red;
}
a.nav_link-active:after {
content: '';
margin-top: 3.3rem; // margin and height should
height: 0.4rem; // add up to active link margin
background: $e1-red;
margin-left: -$nav-spacer-margin;
display: block;
}
a.nav_link-active::after {
content: '';
margin-top: 3.3rem; // margin and height should
height: 0.4rem; // add up to active link margin
background: $e1-red;
margin-right: -$nav-spacer-margin;
display: block;
}
Desculpe, isto é SCSS, basta multiplicar os números por 10 e alterar as variáveis com alguns valores normais.
div:beforeleft: 50px.