VIDEO LESSON

CSSのresizeの使い方:指定値・実例・効かない原因とブラウザー互換性の解説動画

再生時間 6:59動画を別のタブで開く ↗
動画の字幕・文字起こしを読む

再生中の字幕を濃い黒で表示し、一番上に追従します。字幕の行を選ぶと、その位置から再生できます。

  1. 0:00こんにちは。
  2. 0:00シーエスエス、リファレンス解説です。
  3. 0:03今回のテーマは、リサイズです。
  4. 0:05長い文章を入力するテキストエリアでは、右下の角をドラッグして、箱の高さや幅を広げた経験があるかもしれません。
  5. 0:12リサイズは、その利用者によるサイズ変更を、シーエスエス側から許可したり、
  6. 0:16止めたり、方向を絞ったりするプロパティです。
  7. 0:20自分で大きさを決める幅や高さの指定とは別に、使う人が後から変えられるかどうかを決める点が特徴です。
  8. 0:27書き方から実例、効かない条件まで、順番に見ていきましょう。
  9. 0:31まず基本の書き方です。
  10. 0:32書き方はほかのプロパティとまったく同じで、対象のセレクターに、プロパティ名、
  11. 0:36コロン、値、セミコロンを書きます。
  12. 0:40スライドの例では、クラス名デモを持つ要素に、リサイズ、バーティカルと指定しています。
  13. 0:47バーティカルは縦方向、つまり高さだけ変更を許すという意味です。
  14. 0:51これでテキストエリアの端を持って、上下に広げたり縮めたりできるようになります。
  15. 0:57まずはこの一行を書いて、実際に角をドラッグしてみる、という小さな実験から始めてください。
  16. 1:03対象をセレクターで正確に選ぶことが第一歩になります。
  17. 1:07指定できる主な値を整理します。
  18. 1:10中心は四つです。
  19. 1:11ノーンはサイズ変更をできなくする指定です。
  20. 1:15ボウスは縦と横、どちらへも変更できる指定です。
  21. 1:19ホリゾンタルは横方向だけ、バーティカルは縦方向だけを許します。
  22. 1:24文章を書くテキストエリアなら、横幅はレイアウトに合わせて固定し、高さだけをバーティカルで広げられるようにするのが、
  23. 1:31よくある現実的な選び方です。
  24. 1:37逆に、大きさが変わると周りの配置が崩れて困る小さな入力欄では、ノーンが候補になります。
  25. 1:44値の名前と方向をセットで言い分けられることが、理解の土台になります。
  26. 1:50初期値と継承を確認します。
  27. 1:52仕様上の初期値はノーン、通常の継承はしません。
  28. 1:56親に書いても子へは引き継がれないので、変えたい要素そのものへ直接指定します。
  29. 2:01ここで一つ、ややこしい点があります。
  30. 2:04仕様の初期値がノーンでも、テキストエリアはブラウザーの既定スタイルによって、
  31. 2:09最初からドラッグで広げられるように見えることが多いのです。
  32. 2:14つまり、書いていないのに変えられるからといって、初期値が違うわけではありません。
  33. 2:20汎用値も書けます。
  34. 2:22インヘリットは親の計算値、イニシャルは初期値ノーンに戻す指定、アンセットは継承しないプロパティなのでイニシャルと同じ扱いです。
  35. 2:31リサイズが効く条件で、一番大切なのがオーバーフローです。
  36. 2:35一般の要素にリサイズを書いても、オーバーフローがビジブル、つまり初期状態のままでは、
  37. 2:40サイズ変更は有効になりません。
  38. 2:44オートやスクロール、ヒドゥンなど、ビジブル以外と組み合わせて初めて効く、
  39. 2:47と覚えてください。
  40. 2:50今回のテキストエリアの実例でも、土台の指定の中にオーバーフロー、オートが入っています。
  41. 2:57リサイズだけを書いて動かないときは、値の書き間違いを疑う前に、まずこの組み合わせを確認しましょう。
  42. 3:04条件を満たして初めて、角のつまみが働き始めます。
  43. 3:08実例を見ていきます。
  44. 3:09まずエイチティーエムエルの用意です。
  45. 3:12ステージという土台の箱の中に、メモというラベルと、テキストエリアをひとつ置きます。
  46. 3:18テキストエリアには、アイディー、メモと、クラス、デモを付け、行数は四行にしています。
  47. 3:24中には、ここに文章を書いてサイズ変更を試します、という文を入れておきます。
  48. 3:30頭の部分、ヘッドには、スタイルシートを読み込むリンクを置いてください。
  49. 3:35次のシーエスエスで土台の見た目を整えてから、最後にリサイズを指定し、角をドラッグできるかどうかを比べます。
  50. 3:43次に、スタイルズ・ドット・シーエスエスに書くシーエスエスです。
  51. 3:47ステージとデモには、余白や枠線、背景色といった土台の見た目を先に整えます。
  52. 3:53デモはブロック表示で幅いっぱいに広げ、オーバーフロー、オートも指定しておきます。
  53. 3:59そして最後に、今回変更するプロパティとして、デモへリサイズ、バーティカルを追加します。
  54. 4:05これでブラウザーを開くと、テキストエリアの端を上下にドラッグして、高さを変えられるようになります。
  55. 4:12大切なのは、土台は比較のための下準備で、結果を決めているのは最後の一行とオーバーフローの組だ、
  56. 4:16という点です。
  57. 4:20値を変えて比べてみましょう。
  58. 4:22最後のリサイズの値だけを、バーティカルからノーンへ置き換えます。
  59. 4:27ファイルを保存してブラウザーを再読み込みし、もう一度テキストエリアの端をドラッグすると、
  60. 4:32今度は高さがまったく変わらなくなります。
  61. 4:37比較のコツは、変えるのはこの値ひとつだけにすることです。
  62. 4:41ほかの指定まで同時に書き換えると、違いの原因が分からなくなります。
  63. 4:47余裕があれば、ボウスやホリゾンタルへも変えて、動く方向がどう変わるかを確かめてみてください。
  64. 4:54手を動かして初めて、値ごとの違いが体感として身に付きます。
  65. 4:58実際の使いどころと配慮を整理します。
  66. 5:01感想文や問い合わせ本文のような長文の入力欄では、バーティカルで高さを広げられる余地を残すと、
  67. 5:06書いた文章全体を見返しやすくなります。
  68. 5:11一方で、横に広がるとレイアウトが崩れる欄や、大きさが決まっている小さな部品では、
  69. 5:15ノーンで固定する選択もあり得ます。
  70. 5:19ただし注意したいのは、テキストエリアのサイズ変更を一律に禁止しないことです。
  71. 5:25文字を大きくして読む人や、長い文章を書く人にとって、広げられることはそのまま使いやすさにつながります。
  72. 5:32見た目を守る都合だけで決めず、使う人の読み書きを想像して選んでください。
  73. 5:38効かないときの確認手順です。
  74. 5:39まず開発者ツールを開きます。
  75. 5:41ネットワークでスタイルシートが取得できているか、エレメンツで対象のクラスとセレクターが一致しているかを確認してください。
  76. 5:50スタイルズで宣言に打ち消し線があれば、別の宣言に負けています。
  77. 5:54コンピューテッドで最終的な値も確認しましょう。
  78. 5:57リサイズ特有の落とし穴は、オーバーフローがビジブルのままになっていることです。
  79. 6:03一般要素ではこの条件を満たさない限り、値を正しく書いても動きません。
  80. 6:07三百二十ピクセル程度の画面幅や文字の拡大、キーボード操作でも内容を利用できるかまで確かめると、
  81. 6:11確認漏れがぐっと減ります。
  82. 6:16最後に互換性とまとめです。
  83. 6:18パソコン向けでは古くから広く対応し、クロームは一以降、エッジは七十九以降、
  84. 6:22ファイアフォックスは四以降、サファリは三以降という記録です。
  85. 6:27アンドロイド版クロームは十八以降ですが、アイオーエス版サファリは非対応で補足条件がある点には注意してください。
  86. 6:35ノーンもバーティカルも、対応するブラウザーでは同じ範囲で使えます。
  87. 6:40練習は、まずバーティカルとノーンの違いを自分の言葉で説明し、次に値だけを変えて結果を比べることです。
  88. 6:47まとめます。
  89. 6:48リサイズは利用者のサイズ変更を決める指定、初期値はノーン、継承はしません。
  90. 6:54そしてオーバーフローの条件を忘れないでください。
  91. 6:57お疲れさまでした。
日本語字幕をダウンロード(WebVTT)

この動画で学べること

resizeの役割と主な指定値を解説。textareaの端をドラッグして高さを変えられるかを確認します。初期値・継承・ブラウザー互換性、効かないときの確認方法も整理します。

解説記事・サンプルコードを読む:CSSのresizeの使い方:指定値・実例・効かない原因とブラウザー互換性 →