Tôi vừa hoàn thành điều ngược lại với điều này bằng cách sử dụng :aftervà ::aftervì tôi cần làm cho đường viền dưới của mình 1.3remrộng hơn chính xác :
Yếu tố tôi đã siêu biến dạng khi tôi sử dụng :beforevà :aftercùng một lúc bởi vì các yếu tố được ngang phù hợp với display: flex, flex-direction: rowvà align-items: center.
Bạn có thể sử dụng điều này để tạo ra thứ gì đó rộng hơn hoặc hẹp hơn, hoặc có thể là bất kỳ mod kích thước toán học nào:
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;
}
Xin lỗi, đây là SCSS, chỉ cần nhân các số với 10 và thay đổi các biến với một số giá trị bình thường.
               
              
div:beforeleft: 50px.