これは、背景画像でこれを実現するために使用する mixin を減らしたものです。dotLess を使用している場合、retina.js は背景画像では機能しません。これは、dotLess ではサポートされていないスクリプト評価を使用する独自の mixin が必要なためです。
これらすべての秘訣は、IE8 のサポートを得ることです。background-size を簡単に実行できないため、ベース ケース (非モバイル メディア クエリ) は、単純で拡大縮小されていないアイコンでなければなりません。その後、メディア クエリは retina のケースを処理し、retina は IE8 では使用されないため、background-size クラスを自由に使用できます。
.retina-background-image( @path, @filename,@extension, @size )
{
.background-size( cover );
background-image: url( "@{path}@{filename}@{extension}" );
@media only screen and ( -webkit-min-device-pixel-ratio: 2 ),
only screen and ( -moz-min-device-pixel-ratio: 2 ),
only screen and ( -o-min-device-pixel-ratio: 2/1 ),
only screen and ( min-device-pixel-ratio: 2 )
{
background-image:url( "@{path}@{filename}@x2@{extension}" );
background-size:@size @size;
}
}
使用例:
.retina-background-image( "../references/Images/", "start_grey-97_12", ".png", 12px );
これには、次の 2 つのファイルが必要です。
start_grey-97_12.png
start_grey-97_12@2x.png
2x
ファイルは網膜の倍の解像度です。