画像とテキストコンテンツを横並び 1枚の画像を少し上にズラして配置。親要素の幅越えて画面いっぱい表示。positionとz-index 疑似要素使用 【サンプルコードあり】

HTML CSS

画像とテキストボックスを横並びにして重ね
1枚の画像を少し上にずらした感じで配置。
後ろにラインを入れたデザインをコーディング
してみました。

後半では、親要素の幅を超えて画面いっぱいに表示
させる方法も書いてます。

今回は、positionとz-indexを使ってます。

今期作成したのは下記になります。

書いたコードも掲載してるので
参考にしてください。
またコーディングはいろんな書き方が
あるので、今回は一例になります。

 

書いたHTML・CSSのコード

HTML

書いたCSSコード

CSS

 

今回は、画像をpositionで浮かせて配置してます。
画像と、テキストボックスをレスポンシブ時の
配置も考慮もあり、row-reverse使用。

背後の横棒は、大枠の疑似要素で
配置することで、画面の端に固定。

画像とテキストボックスの配置反転追加

 

今回は先ほど書いたコードに、classを
2か所追加で可能です。

<div class=”process-contents”>に
leftを追加しました。

<div class=”process-wrap”>に
reverse-nonを追加しました。

 

HTML

 

CSSは、3つ指定追加で完了です。

 

コンテンツの余白指定も追加してます。

 

CSS

 

これで完了です。
他にも人によって実装方法はいろいろです。
1例として参考にしていただければ幸いです。

この方法では、帯は親要素のコンテナ内に収まります。

後部の帯を親要素に関係なく画面いっぱいに広げる方法

今回テキストBoxの後ろにある帯、上記のコードでは、
親要素の幅までになります。

この帯を、親要素より外側画面いっぱいに表示させる
方法もあります。

今回の場合で上手く出来た方法も参考で書いていきます。

今回の場合は、右側と左側それぞれ片方に伸びる設定。
帯びの長さが画面半分くらいで設定しました。

右側に伸びる設定のコード追加

 

後部の帯の指定してるクラスに下記のコード追加。
width:68vw;は帯の長さの指定してます。
基本はwidth:100vw;みたいなのですが、今回そのコードだと
画面幅広げた時にヘンな感じになるので、色々数値変えて
この数値に落ち着きました。

.process-contents:after

 

左側に伸びる場合のコード

.process-contents.left:after

 

それぞれ追加で画面いっぱいに伸びます。
ただこのままだと、下にスクロールバーが表示される場合があります。

そのスクロールバーを消したい場合は、上記の指定をした
要素の、祖父要素のCSSに下記のコードを追加すると
スクロールバーが消えました。

今回の場合は、sectionが祖父要素になるので

 

これで、うまくいきました。

ただ、個人的な感じですがsectionに指定するのじゃなく
別に祖父要素になるようなclassを作成して、そこに指定
する方がいいのかなとも感じました。

この、親要素の幅を超えて画面いっぱいに表示させる
設定の方法、よく見かけるので頭の片隅にでも置いておくと
いいです。

左右両方に広げる場合は

 

で出来ました。

marginの設定で、両サイド・右サイド・左サイドそれぞれ
広げる方向の指定をしています。
参考にしていろいろ数値変更してみてください。

 

YouTube動画はこちら


フリーランス案件

フリーランスにもIT技術にも詳しいコンサルタントだから安心!【ポテパンフリーランス】


フリーランスコンサルタント・エンジニア伴走型マッチングサービス【RIRIKU】



 

コメント