【SCSS】line-heightによる上下の余白を@mixinで消す
やりたいこと
Adobe XDの行送りと違ってCSSのline-heightには上下の余白が含まれてしまうので、それを消したい。
解決法
mixin
// line-heightによる上下の余白を消す@mixin remove-line-height-space($line-height) {  &::before,  &::after {    display: block;    width: 0;    height: 0;    content: "";  }
  &::before {    margin-top: (1 - $line-height) * 0.5em;  }
  &::after {    margin-bottom: (1 - $line-height) * 0.5em;  }}擬似要素それぞれにネガティブマージンをあてて上下の余白を消す。
使用例
@use "xxx" as mixin;
.hoge {  line-height: 1.7;  @include mixin.remove-line-height-space(1.7);}ただ擬似要素とはいえネガティブマージンを当てるのは応急処置感が強いので、もっと良い方法があるかも。