CSS - オーバーレイ:動的ウェブエフェクト作成の初級者ガイド
こんにちは、未来のウェブデザインスーパースターたち!今日は、CSSオーバーレイの魅力あふれる世界に飛び込みましょう。新しいことについて不安に思わないでください - 私も初めてオーバーレイについて学んだ時を覚えていますし、あなたも楽しくて報酬のあるものだと感じることでしょう。それでは、一緒にこの旅に出発しましょう!
CSSオーバーレイとは?
コードに飛び込む前に、まずオーバーレイとは何かを理解しましょう。美しい絵画を見ていると、突然誰かが透明なシートをのせてテキストを書いたとします。ウェブサイト上でのオーバーレイも基本的に同じことをしています - 既存のコンテンツの上に追加の層を追加し、追加情報を提供するか視覚効果を作成するために使います。
CSSオーバーレイ - 基本例
まずは簡単なオーバーレイの例から始めましょう。以下はHTMLとCSSのコードです:
<div class="container">
<img src="cute-puppy.jpg" alt="可愛い子犬">
<div class="overlay">
<div class="text">こんにちは、私は子犬です!</div>
</div>
</div>
.container {
position: relative;
width: 100%;
}
.image {
display: block;
width: 100%;
height: auto;
}
.overlay {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: 100%;
width: 100%;
opacity: 0;
transition: .5s ease;
background-color: rgba(0,0,0,0.5);
}
.container:hover .overlay {
opacity: 1;
}
.text {
color: white;
font-size: 20px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
}
これを分解すると:
- コンテナには画像とオーバーレイdivがあります。
- オーバーレイはコンテナ内で絶対位置されています。
- 初めはオーバーレイは透明度0(見えない)です。
- コンテナにホバーすると、オーバーレイの透明度が1(完全に見える)に変わります。
- テキストはオーバーレイ内で中央に配置されています。
CSSオーバーレイ - 上下滑动
さらに楽しくなりますね!スライディングエフェクトを追加してみましょう。以下のようにCSSを修正して、オーバーレイが上から下にスライドするようにします:
.overlay {
position: absolute;
bottom: 100%;
left: 0;
right: 0;
background-color: rgba(0,0,0,0.5);
overflow: hidden;
width: 100%;
height: 0;
transition: .5s ease;
}
.container:hover .overlay {
bottom: 0;
height: 100%;
}
この例では、オーバーレイは画像の上に始まり(bottom: 100%)、ホバーすると下にスライドして画像を覆います。
CSSオーバーレイ - 下上滑动
オーバーレイを上にスライドさせたい場合はどうするでしょうか?簡単です!
.overlay {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(0,0,0,0.5);
overflow: hidden;
width: 100%;
height: 0;
transition: .5s ease;
}
.container:hover .overlay {
height: 100%;
}
今度はオーバーレイが下に始まり、ホバーすると上にスライドします。
CSSオーバーレイ - 左右滑动
次は、オーバーレイを左から右にスライドさせることにします:
.overlay {
position: absolute;
bottom: 0;
left: 0;
right: 100%;
background-color: rgba(0,0,0,0.5);
overflow: hidden;
width: 0;
height: 100%;
transition: .5s ease;
}
.container:hover .overlay {
width: 100%;
right: 0;
}
ここでは、オーバーレイが左側に始まり、ホバーすると右にスライドします。
CSSオーバーレイ - 右左滑动
もちろん、右から左にスライドさせることもできます:
.overlay {
position: absolute;
bottom: 0;
left: 100%;
right: 0;
background-color: rgba(0,0,0,0.5);
overflow: hidden;
width: 0;
height: 100%;
transition: .5s ease;
}
.container:hover .overlay {
width: 100%;
left: 0;
}
今度はオーバーレイが右側に始まり、ホバーすると左にスライドします。
CSSオーバーレイ - フェードエフェクト
最初の例は実はフェードエフェクトでした!さらにスムーズにするために:
.overlay {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: 100%;
width: 100%;
opacity: 0;
transition: .5s ease;
background-color: rgba(0,0,0,0.5);
}
.container:hover .overlay {
opacity: 1;
}
これで、画像にホバーするとスムーズにフェードインします。
CSSオーバーレイ - 画像タイトルオーバーレイ
ホバーすると画像タイトルを表示するオーバーレイを作成しましょう:
<div class="container">
<img src="cute-puppy.jpg" alt="可愛い子犬" class="image">
<div class="overlay">
<div class="title">可愛い子犬</div>
</div>
</div>
.container {
position: relative;
width: 100%;
}
.image {
display: block;
width: 100%;
height: auto;
}
.overlay {
position: absolute;
bottom: 0;
background: rgb(0, 0, 0);
background: rgba(0, 0, 0, 0.5);
color: #f1f1f1;
width: 100%;
transition: .5s ease;
opacity:0;
color: white;
font-size: 20px;
padding: 20px;
text-align: center;
}
.container:hover .overlay {
opacity: 1;
}
これで、画像の下部からタイトルオーバーレイが表示されます。
CSSオーバーレイ - 画像アイコンオーバーレイ
次に、画像にアイコンオーバーレイを追加してみましょう:
<div class="container">
<img src="cute-puppy.jpg" alt="可愛い子犬" class="image">
<div class="overlay">
<a href="#" class="icon" title="ユーザープロフィール">
<i class="fa fa-user"></i>
</a>
</div>
</div>
.container {
position: relative;
width: 50%;
}
.image {
display: block;
width: 100%;
height: auto;
}
.overlay {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: 100%;
width: 100%;
opacity: 0;
transition: .5s ease;
background-color: rgba(0,0,0,0.5);
}
.container:hover .overlay {
opacity: 1;
}
.icon {
color: white;
font-size: 100px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
text-align: center;
}
.fa-user:hover {
color: #eee;
}
これで、画像の中央にアイコンオーバーレイが表示されます。
CSSオーバーレイ - 関連プロパティ
以下は、CSSオーバーレイでよく使われるプロパティの表です:
プロパティ | 説明 |
---|---|
position | 配置方法を設定 |
top, bottom, left, right | オーバーレイの位置を指定 |
width, height | オーバーレイの寸法を設定 |
opacity | オーバーレイの透明度を制御 |
transition | オーバーレイの表示/非表示の方法を定義 |
background-color | オーバーレイの色を設定 |
z-index | 要素のスタック順序を制御 |
そして、ここまでがCSSオーバーレイの基本です!練習すれば完璧になりますので、これらの例を試してみてください。誰 knows? 次のウェブデザインのトレンドを作るかもしれません!ハッピーコーディング、そしてあなたのオーバーレイは常にスムーズで、トランジションは常に綺麗にしてください!
Credits: Image by storyset