นี่คือมิกซ์อินน้อยที่ฉันใช้เพื่อให้ได้ภาพพื้นหลัง retina.js ไม่ทำงานกับภาพพื้นหลังหากคุณใช้ dotLess เนื่องจากต้องใช้มิกซ์อินของตัวเองซึ่งใช้การประเมินสคริปต์ซึ่งไม่รองรับใน dotLess
เคล็ดลับทั้งหมดนี้คือการได้รับการสนับสนุน IE8 ไม่สามารถทำขนาดพื้นหลังได้อย่างง่ายดายดังนั้นกรณีพื้นฐาน (แบบสอบถามที่ไม่ใช่สื่อบนมือถือ) จะต้องเป็นไอคอนที่เรียบง่ายและไม่ปรับขนาด จากนั้นแบบสอบถามสื่อจะจัดการกรณีของเรตินาและสามารถใช้คลาสขนาดพื้นหลังได้ฟรีเนื่องจากเรติน่าจะไม่ถูกใช้บน IE8
.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 );
สิ่งนี้ต้องการให้คุณมีสองไฟล์:
start_grey-97_12.png
start_grey-97_12@2x.png
โดยที่2x
ไฟล์มีความละเอียดสองเท่าสำหรับเรตินา