我正在尝试对基于桌面/普通平板电脑/视网膜的平板电脑使用单独的媒体查询。我有一套用于桌面的视觉设计和图标,另一套用于平板电脑。
编写更少的mixin的最佳方法是什么,以便我可以将一组图标提供给桌面,将另一组图标提供给普通平板电脑,将2X的图标提供给基于视网膜的图标?
现在,我正在尝试使用以下代码段,但这个代码段无法处理正常的平板电脑查询。媒体查询中不能使用小于、大于符号,否则很容易为 device-pixel-ratio: 2 编写一个 mixin,为 device-pixel-ratio < 2 编写另一个 mixin。
我尝试使用 min-device-pixel-ratio:1 ,但随后也将其应用于桌面。我需要一个可以唯一识别正常平板电脑的查询,不包括视网膜平板电脑和台式机。对于普通平板电脑这样写是否正确?在 2 下放置一个断点,以便 2 及以上将采用基于视网膜的查询,而 1.9 及以下采用普通平板电脑。但是,此查询是否也适用于台式机?
@media
only screen and (-webkit-max-device-pixel-ratio: 1.9),
only screen and ( max--moz-device-pixel-ratio: 1.9),
only screen and ( -o-max-device-pixel-ratio: 1.9),
only screen and ( max-device-pixel-ratio: 1.9),
{
我现在有的查询。
.retina-image(@file-1x, @file-2x, @width-1x, @height-1x) {
background-image:~"url('@{imgPath}/@{file-1x}')";
width:@width-1x;
height: @height-1x;
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx)
{
background-image:~"url('@{imgPath}/@{file-2x}')";
background-size: @width-1x, @height-1x;
}
}
任何指针都会有很大帮助!TIA