HTMLとCSSでサインアップフォームを作成する方法【初心者向け】
HTMLとCSSを組み合わせることで、モダンで使いやすいサインアップ(新規登録)フォームを簡単に作成できます。この記事では、メールアドレスとパスワードの入力欄、「ログイン状態を保持」チェックボックス、さらに登録・キャンセルボタンを備えた実用的なフォームを、実際のコード例とともにわかりやすく解説します。
サインアップフォームの完全なコード例
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
body{
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
* {box-sizing: border-box}
input[type=text], input[type=password] {
width: 100%;
font-size: 28px;
padding: 15px;
margin: 5px 0 22px 0;
display: inline-block;
border: none;
background: #f1f1f1;
}
label{
font-size: 15px;
}
input[type=text]:focus, input[type=password]:focus {
background-color: #ddd;
outline: none;
}
hr {
border: 1px solid #f1f1f1;
margin-bottom: 25px;
}
button {
font-size: 18px;
font-weight: bold;
background-color: rgb(10, 119, 13);
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
cursor: pointer;
width: 100%;
opacity: 0.9;
}
button:hover {
opacity:1;
}
.cancel {
padding: 14px 20px;
background-color: #ff3d2f;
}
.formContainer {
padding: 16px;
}
.formContainer p{
font-size: 28px;
}
</style>
</head>
<body>
<form>
<div class="formContainer">
<h1>サインアップフォーム</h1>
<hr>
<label for="email"><b>メールアドレス</b></label>
<input type="text" placeholder="メールアドレスを入力してください" name="email" required>
<label for="password"><b>パスワード</b></label>
<input type="password" placeholder="パスワードを入力してください" name="password" required>
<label for="repeatPassword"><b>パスワード(確認用)</b></label>
<input type="password" placeholder="パスワードを再入力してください" name="repeatPassword" required>
<label>
<input type="checkbox" checked="checked" name="remember" style="margin-bottom: 15px"> ログイン状態を保持する
</label>
<p>アカウントを作成すると、<a href="#" style="color:dodgerblue">利用規約およびプライバシーポリシー</a>に同意したものとみなされます。</p>
<div>
<button type="button" class="cancel">キャンセル</button>
<button type="submit" class="signup">登録する</button>
</div>
</div>
</form>
</body>
</html>
コードのポイント解説
1. 入力フィールドのスタイリング
input[type=text] と input[type=password] セレクターに対して、幅100%・背景色 #f1f1f1 のフラットなデザインを適用しています。border: none で枠線を消し、padding で余白を確保することで、入力しやすい大きさのフィールドになります。
2. フォーカス時の視覚的フィードバック
:focus 疑似クラスを使うと、ユーザーが入力欄を選択した瞬間に背景色を #ddd へと変化させられます。あわせて outline: none を指定することで、デフォルトの青いアウトラインを消し、より洗練された印象に仕上げています。
3. ボタンの配色とホバーエフェクト
「登録する」ボタンには緑色(rgb(10, 119, 13))、「キャンセル」ボタンには赤系の色(#ff3d2f)を割り当て、役割をひと目で区別できるようにしています。また、opacity プロパティを活用することで、マウスオーバー時にボタンが明るくなるエフェクトを実装しています。
4. 入力必須バリデーション
各 input 要素に required 属性を付けています。これにより、未入力のままフォームを送信しようとした際に、ブラウザが自動的に警告メッセージを表示してくれるため、JavaScript を書かなくても基本的な入力チェックが可能です。
実行結果
上記のコードをブラウザで開くと、次のようなサインアップフォームが表示されます。

-
CSSとJavaScriptで作る名言スライドショー!前へ・次へボタン付きの実装方法を解説
CSSとJavaScriptを組み合わせると、名言や引用文を順番に切り替えて表示できるスライドショーを手軽に作成できます。本記事では、「前へ」「次へ」ボタンとドット型ナビゲーションを備えた名言スライドショーの具体的な実装例を、コード付きでわかりやすく解説します。 実装例:完全なサンプルコード 以下のコードをそのままHTMLファイルとして保存すれば、ブラウザですぐに動作を確認できます。 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=dev
-
CSSとJavaScriptで拡張グリッド(クリックで展開するグリッド)を作成する方法
CSSとJavaScriptを組み合わせることで、カードをクリックすると詳細パネルが展開される「拡張グリッド(Expanding Grid)」を簡単に実装できます。本記事では、3カラム構成のグリッドを例に、具体的な実装手順をわかりやすく解説します。 実装のポイント クリックイベント:各カラムにonclick属性を設定し、クリックされたカラムに対応するタブを開きます。 表示の切り替え:新しいタブを開く前に既存のタブをすべて非表示にすることで、常に1つのタブだけが展開された状態を保ちます。 閉じるボタン:タブ右上の「×」ボタンをクリックするとパネルが閉じ、元のグリッド表示に戻ります。 サンプル