BLOGスタッフブログ

2024.09.24 コーディング

【CSS】vw、emをcalc()関数で記述する書き方

こんにちは。すっかり秋めいて過ごしやすい気温になりました。

一瞬の秋を楽しみましょう。明日には冬ですきっと。。

さて、今までvwやemを使用したい時、計算ツールを使用しておりました。

(参考:一括pxからvw計算機px単位からem単位への変換

計算ツールにpxの数値を入力して、単位変換して、CSSファイルにコピペして…

正直手間がかかってめんどくさい

しかも後々見返した時に、「13.333vwって何pxだったっけ?!」と分からなくなったり、、

効率いい方法はないか?

一々計算せず、かつ、元のpx数値を残した書き方をご紹介します。

「vw」をpxの数値を残しながらcalc()関数で記述する方法

計算式はこちらをご参照ください。(pxをvwに変換する4つの方法

100 / 基準値 × px = vw

この式に当てはめていきます。

➀まずは変数を設定します。今回はPC幅1280px、SP幅375pxを基準値としました。

:root{
  –vw-large: 1280; /* PC */
  –vw-small: 375; /* SP */
}

【補足】CSS変数は最初に「–」ハイフンを2つつけて定義します。

➁vwを使用したい部分に下記を入れてください

calc((100vw / var(–vw-large)) * ●●)  /* PC */
calc((100vw / var(–vw-small)) * ●●) /* SP */

●●と書かれている部分に、vwに変換したい元のpxの数値を入力してください。

例)要素の幅を50pxを基準としたvwに設定したい場合

<div class=”box”>BOX</div>
<style>
.box{
 width:calc((100vw / var(–vw-large)) * 50); /* PC */
}
@media screen and (max-width:576px){ 
 .box{
  width:calc((100vw / var(–vw-small)) * 50); /* SP */
 }
}
</style>

完成!

「em」をpxの数値を残しながらcalc()関数で記述する方法

今回は基準フォントサイズを16pxとします。

html {
 font-size : 10px;
}
body{
 font-size: 1.6rem;
}

計算式

px ÷ 16 * 1.6rem = em

➀この式に当てはめるだけ!

例)要素の幅を50pxを基準としたemに設定したい場合

<div class=”box”>BOX</div>
<style>
.box{
 width:calc(50/16 * 1.6rem);
}
</style>

完成!

これなら計算の手間が省けて、後々見返した時にデザインが何px基準で作られていたかもすぐ分かります。

以上になります。

福澤 志織が書いた他の記事

見積もり・ご依頼など、
お気軽にご相談ください

本サイトはユーザーエクスペリエンスの向上などを目的に、Cookieを使用しています。
右記のバナーで「同意する」をクリックする、または本サイトを利用することにより、
お客様は弊社のCookieポリシーに同意したことになります。

同意します