CSSを使って全幅画像の上にフォームを重ねて表示する方法
Webサイトのヒーローセクションなどで、全幅画像(フルスクリーンの背景画像)の上にログインフォームや登録フォームを重ねて表示したいケースはよくあります。CSSのbackground-imageとpositionプロパティを組み合わせることで、簡単に実現できます。
以下は、CSSを使用して全幅画像の上にフォームを追加するコード例です。
コード例
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body, html {
height: 100%;
margin: 0;
padding: 0;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
* {box-sizing: border-box;}
.backgroundImage {
height: 100%;
background-image: url("https://images.pexels.com/photos/1424246/pexels-photo-1424246.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=1000");
background-position: center;
background-repeat: no-repeat;
background-size: cover;
position: relative;
}
.formContainer {
position: absolute;
right: 40%;
max-width: 400px;
margin: 20px;
padding: 16px;
background-color: white;
}
label{
font-size: 20px;
font-weight: bolder;
}
input[type=text], input[type=password] {
width: 100%;
font-size: 18px;
padding: 15px;
margin: 5px 0 22px 0;
border: none;
background: #e3ff95;
}
input[type=text]:focus, input[type=password]:focus {
background-color: #ddd;
outline: none;
}
.btn-login {
background-color: #4CAF50;
color: white;
padding: 16px 20px;
border: none;
cursor: pointer;
width: 100%;
font-size: 20px;
}
</style>
</head>
<body>
<div class="backgroundImage">
<form class="formContainer">
<h1>Register Here</h1>
<label for="eMail">Email</label>
<input type="text" placeholder="Enter your Email ID" name="eMail" required>
<label for="pass">Password</label>
<input type="password" placeholder="Enter your Password" name="pass" required>
<label for="Address">Address</label>
<input type="text" placeholder="Enter your Address" name="Address" required>
<button class="btn-login">Login</button>
</form>
</div>
</body>
</html>コードのポイント
- .backgroundImage:親要素に
height: 100%を指定して画面全体に広げ、background-size: coverで画像が領域を覆うように表示します。また、position: relativeを設定することで、子要素であるフォームの配置基準になります。 - .formContainer:
position: absoluteで画像上に絶対配置し、rightやmarginで位置を調整します。白背景とパディングを指定することで、背景画像の上でも読みやすいフォームになります。 - 入力欄とボタン:
:focus疑似クラスでフォーカス時の背景色を変えたり、ボタンにcursor: pointerを設定したりすることで、ユーザーにとって使いやすいUIを実現しています。
出力結果
上記のコードを実行すると、全幅の背景画像の上に白いフォームが重ねて表示され、次のような出力が得られます。

-
CSSでお問い合わせフォームを作成する方法を初心者向けに解説
Webサイトにおけるお問い合わせフォームは、訪問者と運営者をつなぐ重要な窓口です。HTMLだけでフォームは作成できますが、CSSを組み合わせることで、見た目が整った洗練されたデザインに仕上げることができます。本記事では、CSSを使ってシンプルかつ実用的なお問い合わせフォームを作成する方法を、実際のコード例とともにわかりやすく解説します。お問い合わせフォームの完全なコード例以下は、CSSを使用してお問い合わせフォームを作成するサンプルコードです。そのままコピーしてHTMLファイルとして保存すれば、すぐに動作を確認できます。<!DOCTYPE html> <html> &l
-
CSSでホバー時にトランジション(アニメーション)を追加する方法を解説
CSSでホバー時にトランジション(滑らかなアニメーション効果)を追加するには、transitionプロパティと:hover疑似クラスを組み合わせて使用します。あらかじめ要素にtransitionを設定しておくことで、ホバー時の変化が瞬時に切り替わるのではなく、指定した時間をかけてスムーズに変化するようになります。 サンプルコード <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1&q