2017-08-28 7 views
1

私はCSSコードを最小限に抑えるためにツールを使用しているウェブサイトを持っています。それはJCHと呼ばれ、Joomlaのプラグインですから、Drupalでも使えると思います。私は、このCSSコードの問題を持っている:最小化するとCSSが壊れる

#sp-user3 .help-menu .nav.menu :not(.user-menu){ 
display: inline-flex; 
} 

それはに変換されている:.nav.menu「に変換されます。ない:あなたが "ない.nav.menu" を見ることができるように

#sp-user3 .help-menu .nav.menu:not(.user-menu){display:inline-flex} 

これはCSSルールを意図したとおりに適用しないようにします。

これはツール上のエラーである可能性があります。どのように私はそれを書き換えるか、その混乱を避けるために文字を追加することができますか?任意のアイデアを歓迎します。

+0

CSS標準では、子孫コンビネータに>>を使用することができます。 '.nav.menu:not'ではなく' .nav.menu >>:not'と書くことができます。現在のところ、どのブラウザでも動作しないので、それは答えではありません。 –

+0

'.nav.menu *:not '(アスタリスク付き)を試してみることができますが、ここにミニマイザーがないので、うまく動作するかどうか確認できません。 –

+0

@MrLister私はそれを試してみます。 – Eduardo

答えて

1

これは実際にはバグであり、これが初めて発生したわけではありません。

このサイトのStackSnippetエディタは、Tidyボタンに非常に同じバグを持っていました。私のbug reportを参照してください。すぐ後に修正されました。

このように、JCHでバグレポートを提出し、それが修正されるのを待つことができます。

一方、:の前に*を挿入することで回避できます。
:not()はとにかく*:not()の略語なので、セレクタの意味を変えずに、暗黙の内容をすべて書き出すだけです。

1

これは間違いなくツールの問題です。MinifyのようなWebミニファイアが正しいコードを生成しています。

#sp-user3 .help-menu .nav.menu :not(.user-menu){display:inline-flex} 
+0

はい、私もそうだと思います。 1つの質問 ":not(.user-menu)"は、クラス ".nav and .menu"を持つタグ内の任意のタグを参照していますか?または "nav.menu"を持つ同じタグを参照していますか? (私はそのCSSルールを書いていませんでした) – Eduardo

+0

上記のCSSルールは、*表示:inline-flex *クラス:* help-menu *、* nav-menu *で、* user-menu *ではありません。 –

関連する問題