5

私が取り組んでいるアプリケーションの CSS には、IE8 専用のスタイリングを含める必要があります。スタイル コードは複数の LESS ファイルに記述され、CodeKit または Mac OS X 上の LESS アプリでコンパイルされて、ライブ アプリケーションに使用する単一の CSS ファイルになります。

これは、LESS ファイルで使用したい CSS コードです。

@media \0screen {
  .thumbnail div img {
     width: 58px;
   }
}

ただし、LESS は有効なコードとして受け入れられず\0screen、このコードが存在する LESS ファイルをコンパイルしようとすると、CodeKit と LESS アプリの両方がエラーを返します。

条件付きコメントと IE8 用の代替 CSS ファイルを使用できることはわかっていますが、この時点で必要な修正は数行にすぎないため、@mediaクエリを使用してコンパイル済みの CSS を 1 つのファイルに保持することを強くお勧めします。

LESS Web サイトには、を使用したコードのエスケープに関する短い章があり~""ますが、値にのみ適用されるようです。

内部のクエリと CSS コードは、コンパイル済みの CSS ファイルにそのまま入れれば IE8 で完全に機能しますが、コンパイルするたびにコンパイル済みの CSS を追加する必要はありません。

LESS でこのクエリをエスケープする別の方法はありますか?

4

1 に答える 1

7

コメントとして投稿されたヒントgrimmusに従って、LESS 変数を作成し、その変数を@mediaクエリで使用することで、これを解決することができました。

これを変数に入れました:

@ie8: \0screen;

そして、クエリで:

@media @ie8 {
  .thumbnail div img {
    width: 58px;
  }
}

魔法のように動作します!提案のためのグリムスへの小道具。

于 2013-10-15T09:10:49.203 に答える