vagrantというものを立ち上げてみたり、gitを操作したりと、自分がwebデザイナーであることを忘れてしまいがちな今日この頃…
最近は設計をやることが多いので、コーディングからちょっと離れていただけでコードの書き方を忘れる&知らない間に新しいタグが増えてて困惑しますね。
今日は巷で流行りのgridレイアウトの「grid-gap」について、IE11での対処法について説明します。
grid-gap
はIE11では未サポートのため、別の対応が必要になります。
column-gap
は対応しているのですがrow-gap
も未対応です。
gap (grid-gap)
IE11では未対応のため、ハックを使って擬似的にgrid-gap
を使用します。
IE11のハック
1 2 3 4 5 |
@media all and (-ms-high-contrast:none){ //IE11 *::-ms-backdrop, .セレクタ { プロパティ } } |
上記のハックをつかったコードがこちら↓
HTML
1 2 3 4 5 6 7 8 9 10 |
<div class="guide_parent"> <div class="guide_child">Grid1</div> <div class="guide_child">Grid2</div> <div class="guide_child">Grid3</div> <div class="guide_child">Grid4</div> <div class="guide_child">Grid5</div> <div class="guide_child">Grid6</div> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
.guide_parent { grid-gap: 20px; max-width: 1090px; margin: 0 auto; } .guide_child { width: 100%; background: #EEE; } @media all and (-ms-high-contrast:none){ //IE11 *::-ms-backdrop, .guide_child { width: calc(100% - 20px); margin: 20px; } } |
ハックはあまり使わない方がいいので、IE11に対応しなければいけない場合には別の記述の方がおすすめです。
gridレイアウトはflexレイアウトに比べてブラウザ間の差異がまだまだありますが、
SCSSのautoprifixerがバージョンアップしたので、gridにも大分対応できるようになったそうです!
今後のバージョンアップにも期待ですね。
<参考サイト>
CSS Grid Layout Module(IE対応)
css グリッドレイアウト(display: grid;)をIE10/IE11でも対応させるためにはどうすればよいでしょうか?