0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【CSS】 Grid LayoutのIE11対応のまとめ

Last updated at Posted at 2020-03-08

CSS Grid Layoutレイアウトに便利なCSSですが、IE用の実装が癖があります。
そこでIEに使用したソースをまとめて見たいと思います。
ちなみにIEでもIE11にしか対応していないのでIE10以下は使用できません。

スクリーンショット 2018-01-17 13.01.45.png

css gridの実装状況

#通常の実装

<div class="wrap">
	<header>ヘッダー</header>
	<div class="contents">コンテンツ</div>
	<div class="sidebar">サイドバー</div>
	<footer>フッター</footer>
</div>

.wrap {
  display: grid;
  grid-template-rows: 45px 1fr 45px;
  grid-template-columns: 1fr 25px;
}
header {
  grid-row: 1 / 2;
  grid-column: 1 / 3;
}
.contents {
  grid-row: 2 / 3;
  grid-column: 1 / 2;
}
.sidebar {
  grid-row: 2 / 3;
  grid-column: 2 / 3;
}
footer {
  grid-row: 3 / 4;
  grid-column: 1 / 3;
}

上記のソースでこのようなレイアウトが作れます。

アートボード 1.png

しかしIEはこれでは表示してくれません。

##IEの実装

.wrap {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 45px 1fr 45px;
  grid-template-rows: 45px 1fr 45px;
  -ms-grid-template-columns: 1fr 25px;
  grid-template-columns: 1fr 25px;
}
header {
  -ms-grid-row: 1;
  grid-row: 1 / 2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1 / 3;
}
.contents {
  -ms-grid-row: 2;
  grid-row: 2 / 3;
  -ms-grid-column: 1;
  grid-column: 1 / 2;
}
.sidebar {
  -ms-grid-row: 2;
  grid-row: 2 / 3;
  -ms-grid-column: 2;
  grid-column: 2 / 3;
}
footer {
  -ms-grid-row: 3;
  grid-row: 3 / 4;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1 / 3;
}

すごくややこしいですね。
最近Autoprefixerが進化したようなのでこの辺の記述も楽になってきたようです。
https://autoprefixer.github.io/

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?