基本的なCSSオーバーレイを作成する方法
オーバーレイは、ユーザーが実行する必要のある次のアクションの正しい方向にユーザーを誘導するためにWebサイトで使用される効果です。正しい使用法には、ユーザーをWebサイトにとどまらせるポジティブなユーザーエクスペリエンスを作成する機能があります。
オーバーレイを作成する方法はいくつかあります。正しい方法は1つではありません。それは、サイトに最適な方法と必要なものを選択することです。
このガイドでは、基本的なHTMLとCSS(JavaScriptなし)を使用して、画像にカーソルを合わせたときに探しているオーバーレイ効果を得ることに焦点を当てます。
HTMLをブロックする
画像オーバーレイの作成に使用するHTMLボイラープレートを作成しましょう。
<html> <head> <style> /*No CSS to display yet*/ </style> </head> <body> <div class="container" ></div> </body> </html>
問題を理解する
初めて何か新しいことを試みるときは、検索エンジンに相談する前に、座って問題をどのように解決すべきかを考える必要があります。オーバーレイがどのように機能し、何をする必要があるかをしっかりと理解していれば、必要に応じてヒントやヒントを探すことができます。
要約すると、オーバーレイはコンテナ(この例では画像)の上にあり、画像にカーソルを合わせると画像に対して何かを行います。これにより、ユーザーはサイトを操作するように指示されます。
前進し、全体像を考えてください。これを行う方法の詳細をすべて注ぎ込もうとしないでください。画像とオーバーレイがあります。つまり、少なくとも2つのコンテナーです。そして、これら2つのコンテナーは、より大きなコンテナーに入れる必要があります。
まだ何もスタイルを設定しようとしないでください。純粋にHTMLで作業し、コーディングしてください。以下のマークアップを確認する前に、自分でブロックできるかどうかを確認してください。
参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。
平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。
<html> <head> <style> /*No CSS to display yet*/ </style> </head> <body> <div class="container" > <div class="overlay-outer> <img class="item-to-overlay" src="file-here" alt="this-is-our-image" /> <div class="overlay-inner"> This is our overlay div. </div> </div> </div> </body> </html>
メインブロックを理解したら、スタイリングに取り掛かることができます。私は外側/大きなコンテナから始めて、小さなコンテナに向かって進むのが好きです。コンテナの実際の幅を追跡するのに役立ちます。内側から始めて、抜け出すことを好むかもしれません。それもまったく問題ありません。以下の私と一緒にフォローしてください。
本体
外側から始めて、内側に向かって、最初にbodyタグに移動します。これは、ページ上で最大のコンテナであり、ページを保持します。ここで、背景色、マージン、およびアプリケーションの幅と最大幅を設定できます。
<style> body { background-color: gray; max-width: 800px; width: 100%; } </style>
Div.container
次に来るコンテナは最初のdivです。これはかなり簡単です。幅を100%にしたいだけです。
<style> body { background-color: gray; max-width: 800px; width: 100%; margin: 0 auto; } div.container { width: 100%; } </style>
Div.overlay-outer
マークアップに飛び込むと、次の<div>
class=”overlay-outer”
を使用したものになります 。ここから、オーバーレイのスタイリングについて考え始める必要があります。
最初に行う必要があるのは、画像とオーバーレイが含まれるコンテナの定義を作成することです。オーバーレイコンテナが占めるWebページの幅はどれくらいですか?高さはどうですか?これは<div>
でもあります ここで、イメージの「フェンス」を確立する必要があります。したがって、要素にpositionプロパティを追加する必要があります。
<style> body { background-color: gray; max-width: 800px; width: 100%; margin: 0 auto; } div.container { width: 100%; } div.overlay-outer { width: 50%; height: 400px; position: relative; } div. </style>
CSSオーバーレイは、CSSでこれまでに学んだ多くのことを組み合わせたものです。つまり、ポジショニング、背景色、不透明度、オブジェクトフィット、divです。外側のオーバーレイコンテナをスタイリングした後、画像と内側のオーバーレイコンテナを確認する必要があります。
Img
画像要素は、それが置かれているコンテナの幅と高さに一致する必要があります。これは、必要に応じて境界線を配置したり、画像を切り抜いたりする場所でもあります。
Div.overlay-inner
内側のオーバーレイ<div>
そのスタイルは、オーバーレイの実際の外観に関係します。ここで、オーバーレイの背景色を選択し、不透明度を0に設定します。最も重要なのは、position: absolute, top: 0 and left: 0
を追加する必要があることです。 オーバーレイ内部のdivが<div>
に配置されるようにします それはposition:relativeに設定されます。
Div.overlay-inner p
ここでは、オーバーレイコンテナの実際のコンテンツのスタイルを設定します。
Div.overlay-outer:hover .overlay-inner
最後に、外側のオーバーレイコンテナに:hover疑似クラスを配置して、マウスオーバーしたときにオーバーレイが表示されるようにします。
.outside:hover .inside { opacity: .8; transition: opacity .5s; }
不透明度を0から1の間に設定すると、内側のオーバーレイdivに割り当てられた背景色を半透明にすることができます。遷移プロパティにより、不透明度0から不透明度8へのスムーズな遷移が可能になります。
これで、CSSオーバーレイが正常に作成されました。おめでとう!
CSSとHTMLの使用は、要素のオーバーレイを作成するいくつかの方法の1つです。このソリューションでは、CSSのいくつかのプロパティを使用して、遷移、位置、オブジェクトフィット、幅、高さなどを支援しました。
この記事では、問題に取り組む方法、HTMLをブロックする方法、そしてオーバーレイ効果のためにCSSのスタイルを設定する方法も学びました。以下のコードエディタには、ここで取り上げたポイントの実用的な例があります。
<html> <head> <style> * { box-sizing: border-box; } body { background: grey; max-width: 800px; height: 1000px; } .outside { width: 75%; height: 400px; display: inline-block; position: relative; cursor: pointer; } .images { width: 100%; height: 400px; object-fit: cover; border: 5px double black; } .inside { background-color: #9c1203; height: 100%; width: 100%; opacity: 0; top: 0; left: 0; position: absolute; padding: 0; } .inside p { color: #fff; line-height: 150px; font-family: 'arial'; padding: 20px; text-align: left; } .outside:hover .inside { opacity: .8; transition: opacity .5s; } </style> </head> <body> <div class="container" > <h1>CSS Overlay</h1> <div class="overlay-outer> <img class="images" src="https://images.unsplash.com/photo-1548630826-2ec01a41f48f?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=3367&q=80" /> alt="this-is-our-image" /> <div class="overlay-inner"> <p>This is an overlay!</p> </div> </div> </div> </body> </html>
時間をかけてマークアップを試して、このオーバーレイの独自のバージョンを作成できるかどうかを確認してください。
-
CSSで矢印を作成するにはどうすればよいですか?
CSSで矢印を作成するためのコードは次のとおりです- 例 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
-
CSSで境界線画像を作成する方法
CSSで境界線画像を作成するには、border-imageプロパティを使用します。以下は、CSSで境界線画像を作成するためのコードです- 例 <!DOCTYPE html> <html> <head> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } .border1 { border: 10px solid transparent; padd