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
griddie
to thestylisPlugins
prop.
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-row
andgrid-column
is 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 / -1
to 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.