こんにちは。
ゆうや(@yuyaphotograph)です!
この記事では、
- HTML、CSSでカードデザインパーツのコーディングをする方法が知りたい
- Webサイト制作案件でよくある少し複雑なカードパーツのサンプルコードが見たい
- コピペでOKなカードブロックのコードを見たい
という方のお悩みを解決します!
今回、紹介するサンプルコードはぼくがかつて、実際のWebサイト制作案件で使用したものです。
いざ作ってみるとシンプルなHTML構造で実装できましたが、次回からは書きたくないな、と感じるデザインとなります笑
とりあえず、コピペでできるにこしたことはないです。
同じ様なパーツのコーディングで躓いている方の助けになれれば幸いです!!
完成イメージ
今回紹介するコードで実現できるカードデザインはこちら!
▼▼▼
よく見かけますよね、画像ブロックとテキストブロックが互い違いにレイアウトされているのが特徴です。
display:flexやflex-direction:columnを駆使して実装します。
コーポレートサイトのサービス紹介ブロックや少しオシャレな記事一覧ページに使用されそうなデザインとなります。
以下で紹介するコードをお使いいただければ、とりあえず見た目だけは秒で再現できます!
それでは見ていきましょう〜〜
カードデザインのサンプルコード
こちら、CodePenで作った見本です!
レスポンシブで互い違いを維持するのは骨が折れるので、折り返して1カラムになるよう実装しております。
この画面だと本来のPCサイズで表示されないので、ぜひCodePenのページへ行って確かめてみていただきたいでござる。
See the Pen
gOPxXLX by 石森裕也 (@yuyaphotograph)
on CodePen.
HTML
こちら、今回のカードデザインのHTML構造です!
カードブロックの数を増やしたい場合は、「Card-Item01」や「Card-Item02」の塊をひとかたまりで増やしてあげればOK!
<div class="Card">
<div class="Card-Item01">
<div class="Card-Item01-Left">
<p class="Card-Item01-Left-Headline">タイトル</p>
<p class="Card-Item01-Left-Text">テキストテキスト<br>テキストテキスト</p>
</div>
<div class="Card-Item01-Right">
<div class="Card-Item01-Right-Img" style="background:url('画像URL') no-repeat center; background-size: cover;"></div>
</div>
</div>
<div class="Card-Item02">
<div class="Card-Item02-Left">
<div class="Card-Item02-Left-Img" style="background:url('画像URL') no-repeat center; background-size: cover;"></div>
</div>
<div class="Card-Item02-Right">
<p class="Card-Item02-Right-Text">テキスト<br>テキストテキスト<br>テキストテキスト</p>
</div>
</div>
</div>
CSS
こちらスタイリングです!
文字サイズや、カードの横幅&背景色、文字色、テキストブロックの最大幅などはよしなに変更してお使いください。
.Card {
width: 100%;
}
.Card-Item01 {
width: 100%;
display: flex;
justify-content: flex-end;
}
@media screen and (max-width: 480px){
.Card-Item01 {
flex-wrap: wrap-reverse;
}
}
.Card-Item01-Left {
width: 50%;
display: flex;
flex-direction: column;
justify-content: center;
}
@media screen and (max-width: 480px){
.Card-Item01-Left {
width: 100%;
}
}
.Card-Item01-Left-Headline {
margin-left: auto;
width: 88%;
max-width: 88%;
font-weight: bold;
font-size: 36px;
}
@media screen and (max-width: 480px){
.Card-Item01-Left-Headline {
font-size: 24px;
}
}
.Card-Item01-Left-Text {
margin-top: 32px;
margin-left: auto;
width: 88%;
max-width: 88%;
line-height: 1.5;
font-weight: bold;
font-size: 24px;
}
@media screen and (max-width: 480px){
.Card-Item01-Left-Text {
margin-top: 16px;
font-size: 18px;
}
}
.Card-Item01-Right {
width: 50%;
}
@media screen and (max-width: 480px){
.Card-Item01-Right {
width: 100%;
}
}
.Card-Item01-Right-Img {
padding-top: 66.66%;
width: 100%;
}
.Card-Item02 {
width: 100%;
display: flex;
justify-content: flex-start;
}
@media screen and (max-width: 480px){
.Card-Item02 {
margin-top: 24px;
flex-wrap: wrap;
}
}
.Card-Item02-Left {
width: 50%;
}
@media screen and (max-width: 480px){
.Card-Item02-Left {
width: 100%;
}
}
.Card-Item02-Left-Img {
padding-top: 74.38%;
width: 100%;
}
.Card-Item02-Right {
width: 50%;
display: flex;
flex-direction: column;
justify-content: center;
}
@media screen and (max-width: 480px){
.Card-Item02-Right {
width: 100%;
}
}
.Card-Item02-Right-Text {
margin-left: auto;
width: 88%;
max-width: 88%;
line-height: 1.5;
font-weight: bold;
font-size: 24px;
}
@media screen and (max-width: 480px){
.Card-Item02-Right-Text {
font-size: 16px;
}
}
まとめ
以上、実務でよく使われる少し複雑なカードデザインのコーディングのサンプルコード⑦を紹介しました。
コーポレートサイトの制作案件をする際にきっと!役立つスキルとなりますのでぜひ覚えていきましょう〜!
コーディングスキルアップシリーズはこちら!