remでの記述の考え方は主に2つあります。htmlのfont-sizeを62.5%にする方法と100%のまま使う方法です。
bodyを62.5%にする方法はデイトラメンターのいちくんがデモサイト付きでブログ(https://tips-web.net/easy-responsive-coding/)で紹介してくれています。
しかし、今回ダウンロードしていただいた私が用意したフォルダではbodyは100%のままです。
その違いを説明していきます。
※調べるとよく出てくるやつです!
詳細は上の記事から確認してほしいのですが、結論以下の通りに設定すると、(min-width: 769px) and (max-width: 1440px)の間は基準となるフォントサイズがvwによって変わるのでそれに合わせてフォントサイズが変わります。
html {
font-size: 62.5%;
}
@media screen and (min-width: 769px) and (max-width: 1440px) {
html {
font-size: 0.625vw;
}
}
それでこの場合、sassでfunctionで以下のように設定したら、
@function rem($pxcel) {
@return $pxcel * 0.1rem;
}
padding:30pxだった場合、以下のように記述することで、
.hoge {
padding: rem(30);
}
自動的にcssへコンパイルされるときにremに変換してくれます。
.hoge {
padding: 3rem;
}
それで、このremというのはルートのフォントサイズ(HTMLで指定された値)を参照して、大きさが変わるので、
@media screen and (min-width: 769px) and (max-width: 1440px) {
html {
font-size: 0.625vw;
}
}