Acabei de fazer o oposto usando :after
e ::after
porque precisava deixar minha borda inferior exatamente 1.3rem
mais larga:
Meu elemento ficou super deformado quando usei :before
e :after
ao mesmo tempo porque os elementos estão alinhados horizontalmente com display: flex
, flex-direction: row
e 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:before
left: 50px
.