Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8948

CSS Gridで片側はみ出しレイアウト

$
0
0

このデザインをどう組むか

img01.jpg

  • 2カラム
  • 片側は横幅いっぱいまで伸びる
  • 片側は全体のコンテンツ幅のグリッドに沿った位置までしか伸びない
  • レスポンシブ対応

以前までどうしていたか

  • メディアクエリーcalcでこねくりまわしていた
  • 増えるメディアクエリーとcalcの計算で頭が痛い😭

CSS Gridで挑戦

2020年になり、初めてこのタイプのデザインに遭遇した
CSS Gridで作れるのでは?と感じたので作ってみた

See the Pen CSS Grid aside image by right714 (@right714) on CodePen.

※水色の棒はコンテンツサイズの目安(1000px

.grid{display:grid;grid-template:auto/1fr15pxminmax(0,700px)minmax(0,30px)minmax(0,270px)15px1fr;}

column指定の各値は、

  • 1fr ... レスポンシブ時の左右余白(画面を広げた時)
  • 15px ... レスポンシブの左右余白(画面を縮めた時)
  • minmax(0,270px) ... テキストが入る部分のサイズ
  • minmax(0,30px) ... テキスト部分と画像部分の余白
  • minmax(0,700px) ... テキストとその余白のコンテンツ部分の余ったサイズ(1000-270-30

minmaxでの指定をする事で、画面が広がった時にコンテンツサイズと等しい大きさを保つようになっている
逆に画面を縮めた時はmin 0のため、リキッドに動く

.grid-image{grid-row:1/1;grid-column:1/4;}.grid-text-box{grid-row:1/1;grid-column:5/6;}

画像の部分は、1fr15pxminmax(0,700px)の範囲にする事で、片側画面いっぱいを実装
テキストの部分は、minmax(0,270px)の範囲にする事で、コンテンツサイズ(1000px)までしか伸びない

IE11で動くのかはわからない😅
Autoprefixerminmaxをどうしてくれるかはいまいち知らないので、それ次第


Viewing all articles
Browse latest Browse all 8948

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>