見出し画像

Studioで実装できるテキスト単位「rem」「vw」について

みなさまこんにちは!KKI DESIGNのシカノです。
新年一本目の投稿となります!本年もどうぞKKI DESIGNをよろしくお願いいたします。

さて今回は、
ノーコードWeb制作プラットフォーム「Studio」で 2024年11月14日より実装可能となったテキスト単位のうち、「vw」「rem」について、理解を深めるためにも記事にまとめていきたいと思います💪

『よりダイナミックで柔軟なサイズ設定を。新たな単位「dvh」「vw」「rem」が登場

https://studio.design/ja/whats-new/viewport

これまで、Studioにおいてテキストに設定できる単位は「px」のみでしたが、新たに「vw」「rem」「vh」が設定できるようになりました。
実現したらいいな…という機能が定期的にアップデートされるので、とても感謝しています。

公式ヘルプにもテキストの単位についてまとめられているので、まずはそちらをご確認ください。


rem

初めに:remとは

「rem(レム)」は、root emの略で、この「root」とは、「 HTMLのルート要素」を指しています。「rem(レム)」は、HTMLにおけるルート要素(通常は<html>タグ)に指定された 「font-size」 を基準として変化する相対的な値で、常にルート要素を基準とするため、親要素の影響を受けません。

ちなみに「rem」に似ている単位で「em(エム)」という単位が存在するのですが、こちらは親要素に依存して値が変わることがあります。

Studioでは現状、<html>タグのfont-sizeをカスタマイズすることはできず、 1rem = 16px に固定されているとのことなので、

2rem = 16px × 2 = 32px
2.5rem = 16px × 2.5 = 40px

となっていきます。

rem
文字サイズ用の単位「rem(root em)」は、基準の文字サイズに対する、相対的な値で指定することができます。
Studioでは16pxを基準とし、「0.9rem(14px)」「1rem(16px)」「2rem(32px)」のような形になります。
※基準の文字サイズを変更する機能について、今後の機能開発にご期待ください

https://studio.design/ja/whats-new/viewport

上記にも記載がありますが、基準の文字サイズを変更する機能については、今後のアップデートに期待ができそうです😳

〈remの特徴と使用するメリット〉

「px」と異なる、大きな特徴、それは、 「ブラウザの設定でフォントサイズの変更ができる」という点です。

px(ピクセル)は固定値で、デバイスやブラウザ設定にかかわらず指定されたサイズが表示されます。
一方で、rem(レム)は<html>タグのfont-sizeに依存するため、ブラウザ設定でフォントサイズを変更すると自動的に再計算されます。

テキストにremが使用されていれば、ユーザーが自由にフォントサイズを変更できるのでウェブアクセシビリティの点で優れているとされています。(そうとも言い切れないということは後ほどご説明いたしますが…)

実際にブラウザ(今回はChromeを使用)でフォントサイズを変更し、検証しましたのでご覧いただければと思います。

Chromeの[設定]でフォントサイズを変更する前

Chromeの[設定]を使ったフォントサイズ変更の実演の画像1枚目
左:サイトプレビュー画面、右:Chromeの[設定]画面。
Chromeの[設定]でフォントサイズは初期値の16pxになっている。

Chromeの[設定]でフォントサイズを「16px」→「24px」に変更しました。すると…

Chromeの[設定]を使ったフォントサイズ変更の実演の画像2枚目
左:サイトプレビュー画面、右:Chromeの[設定]画面。
Chromeの[設定]でフォントサイズを16px→24pxに変更したところ、remで指定したテキストのみが拡大している。

このように、 remで指定したテキストのみが、Chromeで設定したフォントサイズに従って変化しました。

💡「px」と「rem」の違いまとめ
px:ブラウザの設定でフォントサイズの変更ができない。
rem:ブラウザの設定でフォントサイズの変更が可能。

remを使うことで、ユーザーが自由にフォントサイズを変更できるので、アクセシビリティ向上に繋がることがわかりましたが、 何もかもremにすればいいというわけではありません。
例えばボタンなどの横幅や縦幅が固定のボックスに配置されたボックス内のテキストに「rem」を使ってしまうと、ユーザーがブラウザでフォントサイズを大きくした際に、意図せずデザインが崩れてしまうといったことが起こってしまいます。アクセシビリティを意識したはずが、結果として見づらくなってしまう場合があります。

「送信する(16px)のボタン」と「送信する(1rem)のボタン」のプレビュー画面
ブラウザのフォントサイズを大きくした時のプレビュー。
pxを使っている方は見た目が保たれますが、remを使っている方はテキストだけが大きくなり、ボタンの幅に収まらなくなっています。

フォントサイズ変更で表示が崩れることを見越してボタンの幅をautoで指定してあれば良いかもしれませんが、そうするとボタンがどんどん巨大化するということが起こります。

「送信する(16px)のボタン」と「送信する(1rem)のボタン」の下に、ボタン幅をautoにした「送信する(1rem)のボタン」を並べたプレビュー画面
一番下が、ボタンの幅をauteで指定した場合。
フォントサイズが大きくなるにつれてボタンも巨大化していく。

remを使用する場面については、適切に判断して使用することが大切になってきます。

remの使い方や特徴は、こちらの動画内でも紹介がされていましたので、お時間があればご覧いただけると良いかと思います。

Studio アクセシビリティ Radio Vol.23|remを使ってデザインする


「リッチテキストボックス」でのrem

リッチテキストを置いた際、h2などの単位に「rem」が使用されているのにお気づきでしたでしょうか…?
実はリッチテキストボックス自体にフォントサイズ指定をすることができ、 それがリッチテキストボックス内での「rem」の基準値、そして、 リッチテキストボックス内での「デフォルトの<p>のフォントサイズ」となっているようです。

💡リッチテキストボックスのフォントサイズ指定
・リッチテキストボックス内での「rem」の基準値
・リッチテキストボックス内での「デフォルトの<p>のフォントサイズ」
となっている。

Studioデザインエディタで、リッチテキストボックスの基準テキストを16pxにした場合と32pxにした場合の比較画像。リッチテキストボックスの基準テキストサイズ
「16px→」「32px」にすると、<p>が32pxになり、1rem~3remが使われている<h3>~<h1>は
32pxの1倍~3倍のフォントサイズになる。

<h1>~<h3>にremを使用しておけば、
レスポンシブ化する際に、<h1>~<h3>のフォントサイズを個別にpxで設定せずとも、リッチテキストボックスの基準テキストサイズに基づいた相対的サイズになるため、工数削減につながるかもしれません。

因みに、リッチテキストボックスの基準テキストサイズ単位が「px」である場合、リッチテキスト内で「rem」を使っていても、ブラウザのフォントサイズ変更の適応外になりますので、フォントサイズ変更に対応させたい場合は、リッチテキストボックスの基準テキストサイズ単位を「rem」にしておく必要があります。

分かりにくい文章になってしまい大変恐縮ですが… 知っておくと役に立つ時があるかもしれません。(私は今の所まだありません…。)

続いて「vw」行きます。

vw

初めに:vwとは

「vw」(ブイダブリュー)は、テキストが画面幅に応じた大きさに拡大縮小してくれ、レスポンシブデザインに便利な単位です。Viewport Widthの頭文字をとっています。
例えば、5vwと指定すると、ブラウザ幅の5%のサイズで表示されます。 公式ヘルプ記事 もご参照ください。

vw, vh
横幅の単位「vw(viewport width)」が新登場。
さらに、「vh」とともに、ボックスの縦横幅だけでなく文字サイズの単位として設定が可能に。
vwを使うと、画面の横幅に連動して、ボックスの横幅や文字サイズを拡大・縮小することができます。キャッチコピーのような、小さな端末では改行したくない要素の設定に最適です。

https://studio.design/ja/whats-new/viewport

読むだけで理解しにくいと思うので、 まずは実践して、vwの特性を理解していきましょう。

vwを実践

デザインエディタでスクリーンを基準ブレイクポイント幅の1280pxにした状態で、「px」単位のテキストを配置します。ここでは「32px」としました。
続いてそのテキストを複製し、「32px」の単位を「vw」に変更します。
すると、32pxをvwの値に自動で計算してくれ、「2.5vw」という値になりました。(下の画像の青色のボックスを参照) これは、スクリーン幅1280pxの2.5% つまり、32pxと同じ大きさです。

Studioデザインエディタのキャプチャ画像。

ここからスクリーン幅を広げていくと・・・・スクリーン幅の2.5%を保ってくれるので、下の画像のように、vwで指定したテキストも大きくなっていきます。

Studioデザインエディタで、スクリーン幅を1280pxから徐々に広げていった時の様子のgif画像。
Studioデザインエディタで、スクリーン幅を1280pxから徐々に広げていった時の様子。

逆にスクリーン幅を縮めていくと、テキストもスクリーン幅の2.5%を維持して小さくなっていきます。

Studioデザインエディタのキャプチャ画像。

vwの特性が段々とわかってきたのではないでしょうか…?

vwを使うときの注意点

基準ブレイクポイントからテキストサイズを「vw」で設定していると、スクリーン幅が基準ブレイクポイントより広がるにつれて、テキストもどんどん大きくなります。
Studioでは最大値が設定できないため、 (あえてテキストをダイナミックに表示したい場合を除き、)基準ブレイクポイントではpxやremを使用し、スモールブレイクポイント以下からvwで指定するのが良いかなと考えています。

Studioデザインエディタで、スクリーン幅を1280pxから徐々に広げていった時の様子のgif画像。
Studioデザインエディタで、スクリーン幅を1280pxから徐々に広げていった時の様子。
下がスモールブレイクポイント以下から「vw」に設定している場合。こちらであればスクリーン幅が広がっていった場合でも、当然32pxを維持してくれます。

どんな時に「vw」が使えるか検証してみました

こちらのキャッチコピーは、
タブレットブレイクポイント840px幅では、キャッチコピーの改行がきれいに収まっている状態でも、 スクリーン幅が徐々に狭くなると、モバイルブレイクポイントに到達する前に、改行が崩れてしまいます。

Studioデザインエディタのキャプチャ画像。タブレットからモバイルのブレイクポイントに到達するまでの、キャッチコピーの改行が崩れてしまうスクリーンが表示されている。
モバイルブレイクポイント到達より前に改行が崩れてしまう。

そこで、改行が崩れてほしくないキャッチコピーに「vw」を使用すれば、ウィンドウ幅に応じてテキストサイズが拡大縮小してくれるので、どの画面幅でも改行が崩れることなく見せることができます。

先ほどのデザインエディタの画面に、キャッチコピーのテキスト単位をvwに変更したものを追加。vwが使われている方は改行の崩れがない。
下がテキスト単位をvwで指定した場合。
キャッチコピーは改行が崩れることなく収まっている。

ただし、画面幅が縮まれば縮まるほどテキストも小さくなり、文字が読みにくくなってしまうため、ブレイクポイントごとに適切なサイズ設定を行うことが重要です。

また、テキストに「vw」を使用した場合、remの説明の時に使用した、ブラウザ設定上でのフォントサイズの変更が効かなくなってしまいます。アクセシビリティを重視する場合は、使用を避けた方が良いと思われます。

💡vwを使うときの注意点まとめ
 ・基準ブレイクポイントからテキストサイズを「vw」で設定していると、
スクリーン幅が基準ブレイクポイントより広がるにつれて、テキストもどんどん大きくなるため、スモール以下からの使用を推奨。

・画面幅が縮まれば縮まるほどテキストも小さくなり、文字が読みにくくなってしまうため、ブレイクポイントごとに適切なテキストサイズ設定を行うことが重要。

・ブラウザ設定上でのフォントサイズの変更が効かないため、アクセシビリティを重視する場合は、使用を避けた方が良い。

終わりに

以上、【テキストにおける「rem」「vw」の使い分け】や【使用場面】をまとめていきました…!
まだ実際のサイト制作で使用したことがないので、特性をしっかり理解して、活用していけたらと思います。
最後までお読みいただき、ありがとうございました!

この記事を書いた人:シカノ|KKI DESIGN
グラフィック、Webデザイン • Studio実装をしています。
Xアカウント:@shikano_potate


いいなと思ったら応援しよう!