ユーザー操作

resize

resize は、要素の角につまみを出して、見る人がドラッグで大きさを変えられるようにします。縦だけ、横だけにも絞れます。

構文

none | both | horizontal | vertical | block | inline

プレビュー

メモThe quick brown fox jumps over the lazy dog. 素早い茶色の狐がのろまな犬を飛び越える。
プリセット
右下の角をドラッグするとサイズを変えられます

コード

.box > :nth-child(2) {
  overflow: auto;
  resize: both;
}

コントロール

resizeboth
resize
メモThe quick brown fox jumps over the lazy dog. 素早い茶色の狐がのろまな犬を飛び越える。

解説

値の書き方

  • none(初期値): つまみを出しません。
  • both: 幅と高さの両方を変えられます。
  • horizontal / vertical: 幅だけ / 高さだけを変えられます。
  • block / inline: 行が積み重なる向き / 文字が並ぶ向きだけを変えられます。横書きでは vertical / horizontal と同じで、縦書きでは入れ替わります。

プレビューでは、メモ(2 番目の子)に書いています。メモの右下の角をドラッグして、大きさを変えてみてください。

スクロールする箱にしか効かない

resize は、overflow が auto・scroll・hidden のどれかの要素にだけ効きます。初期値の visible や clip ではつまみが出ないので、プレビューでも補助の宣言で overflow: auto を書いています(画像や iframe には、ブラウザによっては overflow によらず効きます)。

気をつけること

  • textarea はブラウザの既定のスタイルで、はじめから縦横に大きさを変えられます。レイアウトを崩されたくないときは resize: vertical や resize: none を書きます。
  • ドラッグすると、ブラウザが要素の style 属性に width・height を px で書き込みます。広げすぎや縮めすぎを防ぐときは、max-width や min-height で範囲を決めておきます。
  • タッチ操作では、つまみを動かせないブラウザもあります。

コメント