【移动端网页布局】移动端网页布局基础概念 ⑤ ( 视网膜屏技术 | 二倍图概念 | 代码示例 )

news/2024/5/4 13:21:05/文章来源:https://blog.csdn.net/han1202012/article/details/130311375

文章目录

  • 一、视网膜屏技术
  • 二、二倍图概念
  • 三、代码示例





一、视网膜屏技术



PC 端早期的 移动端 网页中 , CSS 中配置的 1 像素 对应的就是物理屏幕中的 1 像素 ;

Retina 视网膜屏幕 技术出现后 , 将多个物理像素压缩到一块屏幕中 , 可以达到更高的分辨率 , 画面显示效果更好 ;


下图中都是 2x2 像素的 CSS 大小 , 但是在普通屏幕中是 4 个像素点 , 在视网膜屏幕中是 16 个像素点 ;

在这里插入图片描述

  • 在普通屏幕中 , 填充 CSS 中的 2x2 像素的大小 , 需要一张 2x2 大小的图片 ;
  • 在视网膜屏幕中 , 如果要 填充 CSS 中的 2x2 像素的大小 , 需要一张 4x4 像素大小的图片 ;

在一个 CSS 设置 4x4 像素 大小的区域 中 , 如果 强行为其设置 2x2 的图像 , 将其拉伸 , 就会导致图片模糊 , 无法发挥视网膜屏技术的最佳显示效果 ;

基于上述问题 , 提出了 倍图 概念 , 在标准的视口设置中 , 使用倍图提高图片质量 , 解决在高清设备中使用低分辨率图片导致的显示模糊问题 ;

如果要 为 100x100 像素的盒子模型设置图片 , 可以 准备一张 200x200 的图片 , 然后 手动将图片缩小为 100x100 像素 ;

实际准备的图片比 CSS 中设置的图片在宽高上都大 2 倍 , 这张图就是 二倍图 ;


目前除了二倍图之外 , 还有 三倍图 / 四倍图 , 但是 主流还是 二倍图 ;





二、二倍图概念



二倍图(@2x)是指在 设计时按照原尺寸大小的 2 倍来创建图像,以便在 高分辨率设备上展示更清晰的图像。在设计师创建图像时,可以将图像尺寸乘以2,然后在保存图像时将其命名为“@2x”,以便开发者将其用于高分辨率设备上。

高分辨率设备如今已经非常普遍,例如 iPhone 的 Retina 屏幕,以及一些高端 Android 设备。这些设备的 像素密度 比传统的 低分辨率 设备更高,因此需要更高分辨率的图像来展示清晰的图像效果。

对于网页设计师和开发者来说,使用二倍图可以提高图像在高分辨率设备上的清晰度,并提高用户的视觉体验。在CSS中使用二倍图的方法是,在CSS中将图像尺寸缩小50%,然后将其用作背景图像,如下所示:

.image {/* 图片的宽高为 100x50 像素将其设置到 CSS 盒子模型中 盒子大小为 50x25 像素 */background-image: url('logo@2x.png');background-size: 100px 100px;width: 50px;height: 50px;
}

这里的 logo@2x.png 是一个尺寸为 100x100 像素 的图像,通过 将它的尺寸缩小 50% ,可以使它在页面上显示为50 x 50 像素的大小。

在高分辨率设备上,图像会以更高的分辨率展示,从而提高图像的清晰度和质量。





三、代码示例



使用 一倍图 和 二倍图 显示在相同大小盒子中 , 在 PC 端显示效果基本一致 , 但是如果在 视网膜屏中 , 二倍图 更清晰 ;


代码示例 :

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>视网膜屏二倍图示例</title><style>img {width: 50px;height: 50px;}</style>
</head><body><!-- 50x50 像素的图片放在 50x50 盒子中 --><img src="images/icon_50x50.jpg" alt=""><!-- 100x100 像素的图片放在 50x50 盒子中 --><img src="images/icon_100x100.jpg" alt="">
</body></html>

显示效果 :

  • 在 PC 端浏览器中的效果 :
    在这里插入图片描述
  • 在手机端浏览器效果 :

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_102103.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C/C++笔记-写一个Makefile并链接QtCore库使用QString,QDebug

如下cpp代码&#xff0c;调用QDebug打印程序&#xff1a; #include <QDebug> #include <QString>int main(int argc, char *argv[]){QString testStr "hello";qDebug() << testStr;return 0; } 如下makefile&#xff1a; test: main.cppg -c -…

自编码器简单介绍—使用PyTorch库实现一个简单的自编码器,并使用MNIST数据集进行训练和测试

文章目录 自编码器简单介绍什么是自编码器&#xff1f;自动编码器和卷积神经网络的区别&#xff1f;如何构建一个自编码器&#xff1f;如何训练自编码器&#xff1f;如何使用自编码器进行图像压缩&#xff1f;总结使用PyTorch构建简单的自动编码器第一步&#xff1a;导入库和数…

【JavaEE】社区版IDEA(2021.X版本及之前)创建SpringBoot项目

目录 下载Spring Boot Helper 创建项目 下载相关依赖 判断成功 删除多余文件 项目建好后添加依赖 输出Hello World SpringBoot的优点 下载Spring Boot Helper 创建项目 下载相关依赖 如果没有配置过国内源&#xff0c;参考【JavaEE】Spring项目的创建与使用_p_fly的博…

M_Map工具箱简介及地理图形绘制

M_Map工具箱简介及地理图形绘制 1 M_Map简介1.1 具体代码说明 2 地理图形绘制案例2.1 M_Map给定案例2.1.1 M_Map Logo2.1.2 Lambert Conformal Conic projection of North American Topography2.1.3 Stereographic projection of North Polar regions2.1.4 Colourmaps 2.2 案例…

【社区图书馆】 Go佬—Go程序开发实战宝典书评

文章目录 前言内容介绍文章大致划分总结 前言 《Go 程序开发实战宝典》是一本非常实用的 Go 语言开发工具书&#xff0c;本书由深入浅出的案例讲解、详细的技术实现、贴近实际的应用开发等组成&#xff0c;非常适合 Go 语言开发爱好者、从事相关行业的工程师、技术负责人以及深…

Spring依赖注入的三种方式使用及优缺点

初学Spring的时候,我们从Spring容器中获取Bean对象都是通过bean标签先将Bean对象注册到Spring容器中&#xff0c;然后通过上下文对象congtext的getBean方法进行获取&#xff0c;显然这种方法较为麻烦&#xff0c;所以有了更简单的存方法&#xff1a;五大类注解&#xff1b;取方…

Elasticsearch:了解和解决文档更新后 Elasticsearch 分数的变化

问题 问卷中有如下这样的文档&#xff0c;开发者想通过 match query 搜索这些文档来使用分数。 POST sample-index-test/_doc/1 {"first_name": "James","last_name" : "Osaka" } 以下是对上述文档的示例查询&#xff1a; GET sam…

贾其萃 : 笃行实践 筑梦扬帆 | 提升之路系列(二)

导读 为了发挥清华大学多学科优势&#xff0c;搭建跨学科交叉融合平台&#xff0c;创新跨学科交叉培养模式&#xff0c;培养具有大数据思维和应用创新的“π”型人才&#xff0c;由清华大学研究生院、清华大学大数据研究中心及相关院系共同设计组织的“清华大学大数据能力提升项…

LeetCode特训 --- Week2 (主打滑动窗口 + 字符串匹配题目)

目录 滑动窗口原理 真懂了滑动窗口? 滑动 字符串细节 开干切题 滑动窗口原理 滑动窗口&#xff1a;维护一前一后两根指针, 或者说一左一右两个指针。更主要的是维护左右指针中的区间. 同时不断的向前滑动&#xff0c;直到整个序列滑动结束&#xff0c;前指针走到序列末尾…

有什么好用的远程工具吗

沟通在任何类型的工作中都扮演着重要的角色。但当谈到远程工作时&#xff0c;这一点就更为重要。因此&#xff0c;您的组织必须找到可以让您的团队保持一致的工具。 在某些方面&#xff0c;项目管理扮演着类似的角色。 您会注意到&#xff0c;下面的大多数工具都会直接影响您的…

Java核心技术 卷1-总结-10

Java核心技术 卷1-总结-10 通配符类型通配符概念通配符的超类型限定无限定通配符通配符捕获 通配符类型 通配符概念 通配符类型中&#xff0c;允许类型参数变化。 例如&#xff0c;通配符类型Pair<? extends Employee>表示任何泛型Pair类型&#xff0c;它的类型参数是…

【Linux】uptime命令详解平均负载

命令 ➜ ~ uptime 22:37 up 90 days, 21:45, 2 users, load averages: 2.91 3.46 3.81 具体含义 22:37&#xff1a;代表的是当前的系统时间&#xff0c;也即晚上10点37分。 up 90 days, 21:45&#xff1a;代表系统运行时间 2 users &#xff1a;当前两个用户 load averages: 2…

ChatGPT实战100例 - (06) 10倍速可视化组织架构与人员协作流程

文章目录 ChatGPT实战100例 - (06) 10倍速可视化组织架构与人员协作流程一、需求与思路二、 组织架构二、 人员协作四、 总结 ChatGPT实战100例 - (06) 10倍速可视化组织架构与人员协作流程 一、需求与思路 管理研发团队的过程中&#xff0c;组织架构与人员协作流程的可视化是…

知识变现海哥|你为什么知识却不富有,是你不懂这个道理

要有价值观念&#xff0c;要有交换思维。商业的本质都是基于价值交换&#xff0c;你能为别人提供多少价值&#xff0c;你就能赚多少米&#xff0c;你帮助别人处理的问题越多你越有价值&#xff0c;你能成就多少人你就能被多少人成就。这是商业行为的底层逻辑。 你没赚到米 一是…

初识C++之C++11

目录 一、C11的概念 二、统一的列表初始化 1.{ }初始化 2.initializer_list 三、decltype 四、lambda表达式 1. lambda表达式的出现原因 2. lambda表达式的使用 2.1 捕捉列表 2.2 参数列表 2.3 mutable 2.4 返回值类型 2.5 函数体 2.6 使用方式 3. lambda表达式…

【Python】如何用pyth做游戏脚本(太简单了吧)

文章目录 前言一、开发前景二、开发流程3.1、获取窗口句柄&#xff0c;把窗口置顶3. 2、截取游戏界面&#xff0c;分割图标&#xff0c;图片比较 二、程序核心-图标连接算法&#xff08;路径寻找&#xff09;四、开发总结五、源码总结 前言 简述&#xff1a;本文将以4399小游戏…

基于OpenCV与深度神经网络——实现证件识别扫描并1比1还原证件到A4纸上

前言 1.用拍照的证件照片正反面&#xff0c;实现用证件去复印到A4纸上的效果&#xff0c;还有证件的格式化识别。 图1&#xff1a;把拍照的证件1比1还原证件到A4纸上 图2&#xff1a;证件OCR格式化识别 2.使用Yolo做目标识别,Enet做边缘检测&#xff0c;Paddle OCR做文字识别&…

云智慧助力MLOps加速落地

背景 随着数字化和计算能力的发展&#xff0c;机器学习&#xff08;Machine Learning&#xff09;技术在提高企业生产力方面所涌现的潜力越来越被大家所重视&#xff0c;然而很多机器学习的模型及应用在实际的生产环境并未达到预期&#xff0c;大量的ML项目被证明是失败的。从…

玩机搞机----root面具的安装 更新 隐藏root 德尔塔面具等等综合解析

目前的机型都是root面具&#xff0c;今天的帖子主要分析下面具的一些使用常识。一般面具如何使用一参考我前面的帖子。基本步骤都是解锁bl---修补boot---刷入boot----安装面具apk。但目前很多app会检测系统root&#xff0c;对于有些敏感类软件例如银行等等然后会检测当前系统ro…

“码”上反馈,自动留痕:二维码助力湖塘街道人居环境巡查高效化

绍兴市柯桥区湖塘街道将农村人居环境巡查同二维码技术相结合&#xff0c;具体应用到了“村民垃圾分类检查”、“公厕卫生检查”和“各村垃圾分类工作的督导记录”这三项检查工作中&#xff0c;做到了“码”上反馈、自动留痕&#xff0c;有效提升了巡检实效&#xff0c;在2020年…