CSS3によるユーザーインターフェイスの拡張:resizeとoutline-offsetプロパティの使い方
CSS3では、resize プロパティと outline-offset プロパティを使うことで、ユーザーインターフェイスを柔軟に拡張できます。これらのプロパティを活用すると、要素のリサイズ可否の制御や、アウトライン(輪郭線)の位置調整が簡単に行えます。
サンプルコード
以下は、両方のプロパティを使用した具体的な例です。
<!DOCTYPE html>
<html>
<head>
<style>
div {
margin: 20px;
border: 1px solid rgb(0, 26, 255);
outline: 4px dashed rgb(90, 2, 86);
outline-offset: 15px;
}
textarea {
display: inline-block;
}
</style>
</head>
<body>
<h1>ユーザーインターフェイス拡張の例</h1>
<h3>resizeプロパティ</h3>
<textarea style="resize: none;">テキストエリア:リサイズ不可</textarea>
<textarea>テキストエリア:リサイズ可能(デフォルト)</textarea>
<h3>outline-offsetプロパティ</h3>
<div>div内のテキスト</div>
</body>
</html>
コードの解説
resizeプロパティについて
resize プロパティは、ユーザーが要素のサイズを変更できるかどうかを制御します。主な値は以下の通りです。
- none:リサイズを禁止します。上記の例では、最初のテキストエリアに
resize: none;を指定しているため、ユーザーはサイズを変更できません。 - both:縦横どちらにもリサイズできます(textareaのデフォルト動作)。
- horizontal:横方向のみリサイズできます。
- vertical:縦方向のみリサイズできます。
2つ目のテキストエリアには指定がないため、デフォルトで右下のつまみをドラッグしてサイズ変更が可能です。
outline-offsetプロパティについて
outline-offset プロパティは、アウトライン(輪郭線)と要素の境界(ボーダー)との間隔を指定します。上記の例では outline-offset: 15px; を設定しているため、紫の破線のアウトラインが青いボーダーから15px外側に離れて表示されます。
このプロパティには負の値も指定でき、その場合はアウトラインが要素の内側に重なって描画されます。ボタンやフォーム要素のフォーカス表示をカスタマイズしたい場合などに便利です。
表示結果
上記のコードを実行すると、次のような出力が得られます。

画面上では、リサイズ不可のテキストエリアにはつまみが表示されず、通常のテキストエリアには右下にリサイズ用のハンドルが現れます。また、div要素には境界線から15px離れた位置に破線のアウトラインが描画されていることが確認できます。
-
CSS3のFlexboxで要素を水平・垂直方向に中央揃えする方法
CSS3のFlexboxを使えば、複雑な計算やposition指定をすることなく、要素を水平・垂直方向の両方で簡単に中央揃えできます。ポイントは、親コンテナにdisplay: flex;を設定し、水平方向の配置にはjustify-contentプロパティ、垂直方向の配置にはalign-itemsプロパティを使用することです。中央揃えに必要なプロパティjustify-content: center; … 主軸(デフォルトでは水平方向)に沿って子要素を中央に配置します。align-items: center; … 交差軸(デフォルトでは垂直方向)に沿って子要素を中央に配置します。この2つのプロパテ
-
パスワードを指定してLinuxユーザーを自動作成する方法
パスワード付きでLinuxユーザーを自動作成するには バッチ処理(完全自動)でLinuxのユーザーアカウントをまとめて作成しなければならない場面は少なくありません。しかし、「新しいユーザーのパスワードを手動入力せずに設定するにはどうすればいいのか」と悩む初心者の方は多いようです。 実は、useraddコマンドはパスワードを入力パラメータとして受け取ることができます。ただし、そのパスワードは暗号化されている必要がある点に注意してください。 つまり、パスワード付きでLinuxユーザーアカウントを作成するには、次のコマンドが役立ちます。 useradd -m -p 暗号化済みパスワード ユーザー名