由于苹果电脑的普及,所以Retina 屏幕兼容越来越重要,在普通屏幕上正常的背景,在Retina 屏幕上都会发虚。

首先新建一个scss文件,起名为utils.scss ,在文件中写入下面代码:

/* Retina 屏幕兼容 */
@mixin ratio(){
@media only screen and (-webkit-min-device-pixel-ratio: 1.5){
@content;
}
@media only screen and (min--moz-device-pixel-ratio: 1.5){
@content;
}
@media only screen and (min-device-pixel-ratio: 1.5){
@content;
}
@media only screen and (-o-min-device-pixel-ratio:3/2){
@content;
}
}
@mixin ratioBackground($bgcolor:transparent,$url:'',$size:contain,$x: 0px,$y: 0px ){
@media only screen and (-webkit-min-device-pixel-ratio: 1.5){
background:$bgcolor url($url) $x $y no-repeat;
background-size:$size;
}
@media only screen and (min--moz-device-pixel-ratio: 1.5){
background:$bgcolor url($url) $x $y no-repeat;
background-size:$size;
}
@media only screen and (min-device-pixel-ratio: 1.5){
background:$bgcolor url($url) $x $y no-repeat;
background-size:$size;
}
@media only screen and (-o-min-device-pixel-ratio:3/2){
background:$bgcolor url($url) $x $y no-repeat;
background-size:$size;
}
}
@mixin ratioBackgroundPosition($x:0px ,$y:0px ){
@media only screen and (-webkit-min-device-pixel-ratio: 1.5){
background-position:$x $y;
}
@media only screen and (min--moz-device-pixel-ratio: 1.5){
background-position:$x $y;
}
@media only screen and (min-device-pixel-ratio: 1.5){
background-position:$x $y;
}
@media only screen and (-o-min-device-pixel-ratio:3/2){
background-position:$x $y;
}
}

然后在做项目时候,在scss文件中引用这个utils.scss文件,

具体使用方法如下

我们这里需要两张雪碧图,一张正常的一倍的,一张2倍图。

这里需要注意的是这里面的参数

1.@include ratioBackground 是兼容Retina 屏幕需要引入的2倍那张图,$size这个参数记得一定要写成跟一倍图一样的大小。

2.@include ratioBackgroundPosition其实就是background-position,$x:0px ,$y:0px就很好理解了。

这样就可以坐到兼容Retina 屏幕了。

这里还要说一下兼容Retina 屏幕时雪碧图要注意的问题。

雪碧图对于前端来说并不陌生,它的好处我在这里也不多说,想必大多数前端都知道。

我这里要说的是基于上面的文件,我们怎么做雪碧图更简单。

大家都知道一般兼容Retina 屏幕时候,都是一些小图标,这时候我们做雪碧图就非常重要了。

首先我们需要一套2倍的图片。然后将2倍图片变成雪碧图,像这样

然后我们在ps中选择图像------图像大小,然后将大小变成之前的二分之一,像这样

之后生成一个一倍图片。

这样做的好处是,我们在写的时候,只需要改变引用的图片,和$size,但background-position一倍图和二倍图是不需要改变的。这样就节省了很多时间。

转载于:https://www.cnblogs.com/szbblogs/p/7269587.html

关于前端Retina 屏幕兼容和基于Retina 屏幕兼容的雪碧图技巧相关推荐

  1. 【前端学习笔记day35】4.5. Photoshop制作雪碧图技巧

    文章目录 4.5. Photoshop制作雪碧图技巧 Photoshop制作雪碧图技巧 4.5. Photoshop制作雪碧图技巧 Photoshop制作雪碧图技巧 雪碧图,就是将网页制作中使用的多个 ...

  2. 前端性能优化总结/懒加载、函数节流、优化dom操作、雪碧图、合并文件

    1.减少 HTTP 请求数量 在浏览器与服务器进行通信时,主要是通过 HTTP 进行通信.浏览器与服务器需要经过三次握手,每次握手需要花费大量时间.而且不同浏览器对资源文件并发请求数量有限(不同浏览器 ...

  3. 【前端小实战】百度新闻雪碧图及动画(CSS sprites)

    文章目录 前言 ~ 雪碧图 一.页面效果展示 二.代码实现解析 三.完整代码 前言 ~ 雪碧图   雪碧图,英文原名叫 CSS sprites,其实就是融合了各种资源的图片,图片里面可能会有一个角色的 ...

  4. css 雪碧图计算方式,前端必备 CSS Sprites雪碧图生成工具

    [摘要] CSS Sprites又称css精灵或者谐音css雪碧,是一种网页图片应用处理方式,今天为大家分享一个一键生成css雪碧图片的工具,复杂的事情简单化,提高开发效率. CSS Sprites又 ...

  5. 【前端基础知识】精灵图/雪碧图的实现以及优缺点

    精灵图/雪碧图的实现以及优缺点 是什么? 为什么?(优点) 如何使用? 是什么? 精灵图也称雪碧图,就是很多张图片放在一张图片上,用户只需请求一张图片就可以拿到所有需要的图片.开发人员利用背景图的位置 ...

  6. Web 图集应用,属于非游戏类的图集/雪碧图对象/JS雪碧图/前端图集/JS图集

    在非游戏领域其实也是存在很多细小的图标需求的.但是找遍全网却没有方便简洁的图集插件. 所以在此特写一个属于前端的图集插件,该插件使用非常简单. 首先准备需要打成图集的小图标若干 再使用国际标准的图集打 ...

  7. html5复合选择器,web前端练习31----Css,选择器(基本选择器,复合选择器,属性选择器,伪类,伪元素,优先级,雪碧图练习)...

    参考文档:https://man.ilovefishc.com/css3/ 一.基本选择器: 1通配符选择器 * 2元素选择器 element 3类选择器 .class 4id选择器 #id 5内联样 ...

  8. 前端开发工具介绍----合成雪碧图工具(css sprite)

    合成雪碧图Sprite工具 1.国外的在线合成工具:http://csssprites.com/ 选择需要合并的文件----设置option选项(包括:元素的间距,排列方式,背景颜色,边框)----- ...

  9. Web前端之背景、雪碧图

    目录 一.背景 二.雪碧图 一.背景 background-color 设置背景颜色 background-image 设置背景图片 如果背景图片大小小于元素,则背景图片会自动在元素中平铺将元素铺满 ...

最新文章

  1. 【windwos bat】批量把windows下的wav文件转为raw文件
  2. Linux系统基础优化
  3. javaWeb Note1
  4. 汇编语言-显示九九乘法表
  5. 详解python运行三种方式_详解python运行三种方式
  6. 机器学习基础(二十五)—— Feature Selection
  7. 算法基础部分2-分治
  8. Win Server 8中的利器:微软在线备份服务
  9. 使用百度智能云人脸检测接口实现照片质量检测
  10. 内定抽奖小程序_excel怎么制作抽奖小程序?
  11. educoder软件工程导论结构化分析方法
  12. QComboBox样式表
  13. 维特智能六轴加速度电子陀螺仪传感器姿态倾角温补传感器模块JY60
  14. 聚集索引与非聚集索引
  15. Excel2013 破解(编辑工作表受保护)密码
  16. ADO与ADO.NET 的区别
  17. 基于微信小程序的wifi模块使用
  18. 用certbot申请https证书
  19. MIR7创建预制发票BAPI
  20. C#学习笔记(五)CSharp操作符-基本操作符(一)

热门文章

  1. K线形态识别_连续跳空三阳线
  2. 用Knox做http代理
  3. python用amd还是intel_amd64; 64 bit; 但是on win 32? 那么该安装win32还是amd64的lxml包呢?...
  4. Tripletloss实现
  5. 2006年8月贵州行(黄果树 兴义万峰林与马岭
  6. 大数据处理实践探索 ---- 数据清洗的目的、方法
  7. [js点滴]JavaScript之文档事件08
  8. scp和sftp不能用的解决方法
  9. “十四五”时期浙江省重大建设项目怎么规划?这场通气会告诉你
  10. 水燃料汽车?可笑。是谎言还是现实?