2017-04-22 4 views
1

私は最近、自分のスタイリングにstyled-componentsを使用するように切り替えました。私はCSSの@supports機能を稼働させようと努力してきましたが、運がありません。スタイル付きコンポーネントで@supportsを使用する

@supports構文は多少のように使用されます。

:アンパサンド(&)GET

@supports (display: grid) { 
    .Container { 
     background-color: orange; 
    } 
} 

スタイル・コンポーネントのドキュメントは、次の行を持っているように今、これは結構ですそのスタイルされたコンポーネントの生成された一意のクラス名に置き換えられます。

しかし、これを使うためにアンパサンドを使うと、うまくいきません。以下のコードを使用している場合、私は、出力されたCSSでアンパサンドを取得

const Container = styled.div` 
    @supports (display: block) { 
     & { 
     background-color: seagreen; 
     } 
    } 
`; 

答えて

3

これはstyled-componentsに本物のバグのようです!あなたはそれだけでメディアクエリのように動作するはずです、全くそこにアンパサンドを配置する必要はありません。

const Container = styled.div` 
    @supports (display: block) { 
    background-color: seagreen; 
    } 
`; 

は、これは、しかし今はないので、私はan issue with our parserを開いたし、それがうまくいけばすぐに解決されなければなりません。修正されたらこの回答を更新します!

+0

ありがとうございます@maxstbr、私は正しい答えとして – silverlight513

+0

@maxstbrで一度更新されました。私は、styled-components package.jsonとyarn.lockを見ました。 stylisが最新バージョンに更新されていないように見えます。それは2.0.3で立ち往生しています。 – silverlight513

+0

新しい読者のための注意:stylisが更新され、 '@support'が今、うまくサポートされています! – mxstbr

関連する問題