Automatically adds IE11 prefixes to CSS Grid properties in Styled Components.
- Install Griddie
npm install styled-griddie. - Wrap any elements you want Griddie to prefix with a Styled Components
StyleSheetManager. - Add
griddieto thestylisPluginsprop.
import React from 'react'
import { Styled } from './styles'
import { StyleSheetManager } from 'styled-components'
import griddie from 'styled-griddie'
const App = () => {
return (
<StyleSheetManager stylisPlugins={[griddie]}>
<Styled.gridContainer>
<Styled.gridItem>Hello, world!</Styled.gridItem>
</Styled.gridContainer>
</StyleSheetManager>
)
}
export default App| Property | Supported? | Notes |
|---|---|---|
display |
✅ | Supports grid and inline-grid |
grid-template |
✅ | Supports repeat() function |
grid-template-rows |
✅ | |
grid-template-columns |
✅ | |
grid-row |
✅ | See limitation #1, #2, #3 below. |
grid-column |
✅ | See limitation #1, #2, #3 below. |
grid-gap |
❌ | |
grid-template-areas |
❌ | |
grid-area |
❌ | |
align-self |
❌ | |
justify-self |
❌ |
-
Autoplace will not work in IE. You must explicitly declare the placement of each grid item to support IE.
-
Only shorthand syntax for
grid-rowandgrid-columnis supported. The following properties will not work in IE:grid-row-start,grid-row-end,grid-column-start,grid-column-end. -
Negative values are not supported. Declaring
grid-column: 1 / -1to make a column span the full width will not work in IE.
Styled Components currently uses stylis to preprocess CSS, which does not autoprefix CSS Grid for IE as discussed in stylis/#119 and styled-components/#1184.
This package builds on the excellent work of @grncdr who shared the base of this plugin here.