CSS3移动端(介绍、Chrome DevTools、视口、倍图、backgroud-size、开发方案、CSS初始化、特殊样式)

目录

  • 1. 介绍
  • 2. Chrome DevTools移动端调试
  • 3. 视口
    • 3.1 布局视口layout viewport
    • 3.2 视觉视口visual viewport
    • 3.3 理想视口ideal viewport
  • 4. 倍图
    • 4.1 图片的倍图使用
    • 4.2 背景图通过backgroud-size使用倍图
    • 4.3 精灵图作为背景图注意事项
  • 5. 开发方案
  • 6. CSS初始化
  • 7. 特殊样式

1. 介绍

内核兼容:

  • 国内的手机浏览器都是根据Webkit内核修改的,所以兼容移动端主流浏览器,处理Webkit内核浏览器即可

屏幕尺寸 + 像素分辨率 + 物理像素比:

  • 不同型号的手机,屏幕尺寸不同、像素分辨率不同、物理像素比不同
    • 如iphone 12 pro屏幕的像素分辨率为(1170 x 2532), 正常可以显示宽1170px像素和高2532px像素的内容。但其物理像素比为3(Retina视网膜屏幕显示技术),则只可以显示宽390px像素和高844px像素的内容,这样3个物理像素点显示1px像素会更清晰

2. Chrome DevTools移动端调试

如下所示:

  • 打开移动端的网页,点击调试区的移动端调试
  • 选择手机型号。里面有个Edit可以选择更多手机型号
  • 如图所示的宽390px像素,高844px像素,是我们开发能使用的内容像素
  • 可以设置屏幕的缩放比例
  • 可以对屏幕进行旋转
    Chrome DevTools移动端调试

3. 视口

浏览器显示页面内容的屏幕区域。 视口可以分为布局视口、视觉视口、理想视口(重点)

3.1 布局视口layout viewport

针对设备: 将PC端的页面,直接在移动端显示,这样移动端看到的画面很小

3.2 视觉视口visual viewport

针对用户: 通过缩放和拖动页面,只看页面的一部分

3.3 理想视口ideal viewport

结合布局视口和视觉视口的优点。让屏幕能显示页面所有内容,而用户又不用缩放屏幕,就能看清所有内容

  • 需要手动添加meta视口标签通知浏览器操作。让页面自动适配屏幕的高和宽。属性如下:
    • width: 设置的是viewport宽度,可以设置为特殊值device-width,让视口宽度和设备宽度一样
    • user-scalable: 用户是否可以缩放,yes(1)或no(0)
    • initial-scale: 初始缩放比,大于0的数字
    • maximum-scale: 最大缩放比,大于0的数字
    • minimum-scale: 最小缩放比,大于0的数字

meta视口标签示例:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><title>Title</title>
</head>
<body>hello world
</body>
</html>

如果不使用viewpoint,看到的文字很小。使用viewpoint,因为像素比的原因所以看到的文字变大,看到的效果如下。**注意: **viewpoint的meta标签调试刷新页面可能无效,需要重新打开页面
viewpoint效果

4. 倍图

4.1 图片的倍图使用

放一张图片。由于像素比为3的原因:

  • 如果放一张50px x 50px的图片。实际用150px x 150px的物理像素来展示图片,所以图片看起来很模糊
  • 如果放一张150px x 150px的图片,即三倍图。再将图片缩小为50px x 50px,然后用150px x 150px的物理像素来展示图片,所以图片能正常的清晰显示

示例

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><title>Title</title><style>img:nth-child(2) {width: 50px;height: 50px;}</style>
</head>
<body><!-- 模糊的 --><img src="images/apple50.jpg" alt=""><!-- 3倍图: 清晰的 --><img src="images/apple150.jpg" alt="">
</body>
</html>

如下所示。第一张图片模糊,第二张图片清晰点
三倍图

4.2 背景图通过backgroud-size使用倍图

background-size: 背景图不能通过width和height进行缩放,可以通过backgroud-size来进行缩放

  • background-size: 500px 200px;: 设置背景图的宽度和高度
  • background-size: 500px;: 设置背景图的宽度,高度等比例缩放
  • background-size: 50%;: 设置宽度为父盒子宽度的一半,高度等比例缩放
  • background-size: cover;: 等比例缩放,直到完全填满父盒子
  • background-size: contain;: 等比例缩放,直到宽或高之一填满父盒子

示例: 如果直接放背景图片,背景图片显示不全。通过backgroud-size对图片进行缩小,能显示全图片,而且能够满足屏幕像素比3的清晰度

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><title>Title</title><style>div {width: 50px;height: 50px;border: 1px solid red;background: url(images/apple150.jpg) no-repeat;background-size: 50px 50px;}</style>
</head>
<body><div></div>
</body>
</html>

效果如下:

backgroud-size效果

4.3 精灵图作为背景图注意事项

这里以3倍图为例:

  1. 使用photoshop打开精灵图
  2. 在属性-变换的宽度中,将宽从600px改成一半为200px,高会等比例缩放
    改变精灵图大小
  3. 测量精灵图中的小图标偏移量,作为background背景图的x和y偏移量
  4. background-size的宽也缩放为200px,高等比例缩放,如: background-size: 200px auto;

5. 开发方案

  1. 单独制作移动端页面(主流)
    • 例如: 京东(https://m.jd.com)。打开https://www.jd.com/,判断设备为移动端,会自动跳转到https://m.jd.com
  2. 响应式页面兼容移动端
    • 例如: 三星手机官网(https://www.samsung.com)。通过判断屏幕宽度来改变样式,以适应不同终端。缺点: 制作麻烦, 需要花很大精力去调兼容性问题

6. CSS初始化

移动端CSS初始化和PC端不一样,推荐使用normalize.css,点我跳转官网,其优点:

  • 保护了有价值的默认值
  • 修复了浏览器的bug
  • 是模块化的
  • 拥有详细的文档

7. 特殊样式

  • -webkit-tap-highlight-color: transparent;: 移动端点击链接会高亮一下,设置为透明不高亮。需要【-webkit-】前缀
  • -webkit-touch-callout: none;: 长按页面时不弹出菜单。同样适用于img图片。需要【-webkit-】前缀
  • appearance: none;: 清除input输入框的样式

示例

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><title>Title</title><style>a {/* 移动端点击链接会高亮一下,设置为透明不高亮。需要【-webkit-】前缀 */-webkit-tap-highlight-color: transparent;/* 长按页面时不弹出菜单。同样适用于img图片。需要【-webkit-】前缀 */-webkit-touch-callout: none;}input {/* 清除input输入框的样式 */appearance: none;}</style>
</head>
<body><a href="#">我是一个链接</a><input type="button" value="按钮">
</body>
</html>

显示效果如下:
特殊样式效果

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【暖心驿站】壹起来|“会心驿小”——“灯笼传情 团圆共享”职工关爱活动

2024年2月23日上午&#xff0c;由曹桥街道总工会指导&#xff0c;“会心驿小”暖心驿站在平湖市新时代文明实践基地、平湖市非织造两创产业园区开展“灯笼传情 团圆共享”元宵节职工关爱活动&#xff0c;旨在丰富职工子女文化生活&#xff0c;提升职工幸福感和满足感。 社工通过…

【Git】Git命令的学习与总结

本文实践于 Learn Git Branching 这个有趣的 Git 学习网站。在该网站&#xff0c;可以使用 show command 命令展示所有可用命令。你也可以直接访问网站的sandbox&#xff0c;自由发挥。 一、本地篇 基础篇 git commit git commit将暂存区&#xff08;staging area&#xff…

前端食堂技术周刊第 113 期:Node 年终总结、Node 新吉祥物、Qwik 2.0、React Labs 工作进展

美味值&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f; 口味&#xff1a;现炒花龙 食堂技术周刊仓库地址&#xff1a;https://github.com/Geekhyt/weekly 大家好&#xff0c;我是童欧巴。欢迎来到前端食堂技术周刊&#xff0c;我们先来看下…

骨传导耳机排行榜前五名:2024高性能骨传导耳机汇总!

想要保护听力、缓解耳朵疲劳&#xff0c;骨传导耳机是一个很不错的选择&#xff0c;但却伴随着一些负面报道&#xff0c;称使用骨传导耳机可能对听力造成损害。作为一名专业的数码耳机测评师&#xff0c;为了了解这些负面报道背后的原因&#xff0c;我自费购买了多个品牌的骨传…

NotePad2轻便够用的文本编辑器

下载方式&#xff1a; 360软件管家里就可以安装&#xff0c;非常的方便。 打开后&#xff0c;界面如下&#xff1a; 可以拖拽打开文本&#xff0c;和notepad的功能差不多&#xff0c;可以平行替代。

Vue+SpringBoot打造衣物搭配系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 衣物档案模块2.2 衣物搭配模块2.3 衣物收藏模块 三、系统设计3.1 用例设计3.2 E-R图设计3.3 数据库设计3.3.1 衣物档案表3.3.2 衣物搭配表3.3.3 衣物收藏表 四、系统实现4.1 登录页4.2 衣物档案模块4.3 衣物搭配模块4.4…

MATLAB环境下基于洗牌复杂演化的图像分割算法

智能优化算法因其较强的搜索解能力而得到了大量的应用&#xff0c;在这些计算智能算法中&#xff0c;群体智能优化算法因其高效性、有效性以及健壮性等优点而得到了科研人员的青睐。这类算法借鉴生物群体的合作特性&#xff0c;主要解决大规模复杂的分布式问题&#xff0c;研究…

复旦大学最新研究发现,壳聚糖可延缓卵巢衰老

卵巢是哺乳动物的早期衰老器官之一&#xff0c;表现为卵泡数量减少&#xff0c;卵母细胞质量和数量下降。 卵巢微环境中与年龄相关的变化与女性生育能力受损有关&#xff0c;巨噬细胞在卵巢组织稳态和免疫监视中起着重要作用。然而&#xff0c;衰老对卵巢巨噬细胞功能和卵巢稳…

六、回归与聚类算法 - 逻辑回归与二分类

目录 1、应用场景 2、原理 2.1 输入 2.2 激活函数 3、损失以及优化 3.1 损失 3.2 优化 4、逻辑回归API 5、分类的评估方法 5.1 精确率和召回率 5.2 ROC曲线和AUC指标 线性回归欠拟合与过拟合线性回归的改进 - 岭回归分类算法&#xff1a;逻辑回归模型保存与加载无监…

MS2402隔离Σ-Δ调制器

产品简述 MS2402 是一款二阶 Σ-Δ 调制器&#xff0c;集成片上数字隔离器&#xff0c;能将模 拟输入信号转换为高速 1 位码流。调制器对输入信号连续采样&#xff0c;无 需外部采样保持电路。模拟信号输入满量程为 320mV &#xff0c;转换后的 数字码流的最高数据速率为 1…

【前端素材】推荐优质后台管理系统Dashmin平台模板(附源码)

一、需求分析 后台管理系统在多个层次上提供了丰富的功能和细致的管理手段&#xff0c;帮助管理员轻松管理和控制系统的各个方面。其灵活性和可扩展性使得后台管理系统成为各种网站、应用程序和系统不可或缺的管理工具。 后台管理系统是一种具有多层次结构的软件系统&#xf…

Stable Diffusion 绘画入门教程(webui)-ControlNet(Inpaint)

上篇文章介绍了语义分割Tile/Blur&#xff0c;这篇文章介绍下Inpaint&#xff08;重绘&#xff09; Inpaint类似于图生图的局部重绘&#xff0c;但是Inpain效果要更好一点&#xff0c;和原图融合会更加融洽&#xff0c;下面是案例&#xff0c;可以看下效果&#xff08;左侧原图…

Python爬虫-付费代理推荐和使用

付费代理的使用 相对免费代理来说&#xff0c;付费代理的稳定性更高。本节将介绍爬虫付费代理的相关使用过程。 1. 付费代理分类 付费代理分为两类&#xff1a; 一类提供接口获取海量代理&#xff0c;按天或者按量收费&#xff0c;如讯代理。 一类搭建了代理隧道&#xff0…

JSP实现数据传递与保存(二)

一、session对象 session机制是一种服务器端的机制&#xff0c;在服务器端保存信息用于存储与用户相关的会话信息 1.1 session与窗口的关系 每个session对象都与一个浏览器窗口对应&#xff0c;重新开启一个浏览器窗口&#xff0c;可以重新创建一个session对象&#xff08;不…

Connection管理类实现(模块六)

目录 类功能 类定义 类实现 编译 本文使用了自定的Any类 Any类的简单实现-CSDN博客 类功能 类定义 // DISCONECTED -- 连接关闭状态 CONNECTING -- 连接建立成功-待处理状态 // CONNECTED -- 连接建立完成,各种设置已完成,可以通信状态 DISCONNECTING -- 待关闭状态 t…

羊大师讲解羊奶和牛奶的优缺点分别是什么?

羊大师讲解羊奶和牛奶的优缺点分别是什么&#xff1f; 羊奶和牛奶各有其优缺点 羊奶的优点&#xff1a; 羊奶更易消化吸收&#xff0c;因为其含有更多的α-乳清蛋白和较少的酪蛋白&#xff0c;同时其脂肪球也较小&#xff0c;含有较多的不饱和脂肪酸&#xff0c;有助于小肠中…

FPS游戏漫谈优化包体传输

在游戏服务器的部署环境中&#xff0c;机房的网络带宽都是有限制的。如果通信传输的数据总量太大&#xff0c;会挤占带宽甚至达到带宽上限&#xff0c;影响正常消息发送。另外&#xff0c;如果包体太大&#xff0c;在弱网环境下的通信质量会变差&#xff0c;更容易发生丢包重传…

Oracle EBS GL 外币折算逻辑

背景 由于公司财务在10月份期间某汇率维护错误,导致帐套折算以后并合传送至合并帐套生成合并日记帐凭证的借贷金额特别大,但是财务核对的科目余额有没有问题,始终觉得合并日记帐生成会计分发有问题,需要我们给出外币折算逻辑。 基础设置 汇率 Path: GL->设置->币种-&…

pytest-配置项目不同环境URL

pytest自动化中&#xff0c;在不同环境进行测试&#xff0c;可以将项目中的url单独抽取出来&#xff0c;通过pytest.ini配置文件实现&#xff08;类似postman中的“Environments”&#xff09; 使用步骤&#xff1a; 1&#xff09;安装pytest-base-url插件 pytest-base-url …

博客阿里云服务器2024年最新优惠价格表,61元起

博客 阿里云服务器2024年最新优惠价表&#xff0c;轻量级应用服务器61元起&#xff0c;云服务器99元起 01-30 第591章 2024年阿里云服务器最新优惠价是多少&#xff1f; 阿里云服务器的租用价格在不同时期是不同的。 进入2024年&#xff0c;阿里云服务器的优惠价格也发生了…