1、移动端基础

news2024/12/28 19:55:08

目录

  • 1、常见浏览器
    • PC端
    • 移动端
  • 2、手机屏幕
  • 3、移动端调试方法
  • 4、视口
    • 4.1 布局视口 layout viewport
    • 4.2 视觉视口visual viewport
    • 4.3 理想视口 idea viewport **
      • meta视口标签
  • 5、二倍图
    • 1、物理像素和物理像素比
  • 6、多倍图
  • 7 背景缩放background-size
    • 移动端背景图展示
  • 8、移动端主流方案
    • 8.1单独制作移动端页面
    • 8.2响应式页面兼容移动端
  • 9、移动端技术解决方案
    • 9.1 移动端浏览器
    • 9.2CSS初始化normalize.css
    • 9.3CSS3盒子模型box-sizing
    • 9.4 特殊样式
      • 链接点击清除高亮
      • 清除按钮、输入框默认样式
      • 禁用长按页面时弹出菜单

1、常见浏览器

PC端

360、谷歌、百度、火狐、qq、搜狗、IE

移动端

UC、百度、360安全、谷歌、搜狗、QQ、欧朋、猎豹、夸克
国内的UC\QQ\百度等手机浏览器都是根据webkit修改过来的内核,国内没有自主研发的内核
因此,兼容移动端主流浏览器,处理webkit内核浏览器即可

2、手机屏幕

常见移动端手机屏幕尺寸,参考https://material.io/devices
前端单位px
在这里插入图片描述

3、移动端调试方法

(1)chrome devtools(谷歌浏览器)的模拟手机调试
(2)搭建本地web服务器,手机和服务器在同一个局域网内,就可以通过手机访问服务器
(3)使用外网服务器,直接IP或域名访问

4、视口

viewport是浏览器显示页面内容的屏幕区域,视口可以分为布局视口、视觉视口和理想视口

4.1 布局视口 layout viewport

IOS、Android基本都将布局视口分辨率设置为980px,所以PC的网页大多能在手机上呈现,只不过元素看上去很小

4.2 视觉视口visual viewport

是用户正在看到的网站的区域
可以通过缩放操作视觉视觉,但不会影响布局视口,布局视口仍保持原来的宽度

4.3 理想视口 idea viewport **

  • 为了使网站在移动端有最理想的浏览和阅读宽度而约定
  • 理想视口对设备来讲,是最理想的视口尺寸
  • 需要手动添加meta视口标签通知浏览器操作
  • meta视口标签的主要目的:布局视口的宽度应该于理想视口的宽度一致,简单理解就是设备有多宽,布局的视口就有多宽

meta视口标签

属性说明
width宽度设置的是viewport宽度,可以设置device-width特殊值
initial-scale初始缩放比,大于0的数
maximum-scale最大缩放比,大于0的数
minimum-scale最小缩放比,大于0的数
user-scalable用户是否可以缩放,yes或no(1或0)

标准的viewport设置

  • 视口宽度和设备比例保持一致
  • 视口默认缩放比例1.0
  • 不允许用户自行缩放
  • 最大允许缩放比例1.0
  • 最小允许缩放比例1.0
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">

5、二倍图

1、物理像素和物理像素比

  • 物理像素点指的是屏幕显示的最小颗粒,是物理真实存在的。这是厂商在出厂时就设置好的
  • 开发时的1px不一定等于1个物理像素
  • PC端页,1个px等于1个物理像素,移动端不一定
  • 一个px能显示的物理像素点的个数,称为物理像素比或屏幕像素比
<!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, user-scalable=no, initial-scale=1.0,
    maximum-scale=1.0,minimum-scale=1.0">
    <title>Document</title>
    <style>
        div{
            width: 300px;
            height: 300px;
            background-color: orange;
        }
        /*在iphone8里,1px开发像素=2个物理像素*/
    </style>
</head>
<body>
    <div></div>
</body>
</html>

移动端:
在这里插入图片描述
PC端:
在这里插入图片描述

6、多倍图

  • 在标准的viewport设置中,使用倍图来提高图片质量,解决在高清设备中的模糊问题
  • 通常使用二倍图,因为iphone6/7/8的影响,但是现在还存在三倍图、4倍图的情况
  • 背景图片要注意缩放问题
/*在iphone8里,1px开发像素=2个物理像素*/
        img{
            /* 原始图片100*100px */
            width:50px;
            height: 50px;
        }

7 背景缩放background-size

规定背景图像尺寸,
参数值

  • 1px
  • 50%百分比(百分比相对于父盒子)
  • cover,完全覆盖父盒子
  • contain,等比例拉伸,宽度或高度铺满后就不再拉伸,可能有部分空白区域
background-size:背景图宽度 背景图高度;//只写一个就是宽度,高度等比例缩放
<!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>Document</title>
    <style>
        div{
            width: 300px;
            height: 300px;
            border: 1px red solid;
            background: url(../images/media/pig.jpg) no-repeat;
            background-size: 200px;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

在这里插入图片描述

<!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>Document</title>
    <style>
        div{
            width: 300px;
            height: 300px;
            border: 1px red solid;
            background: url(../images/media/pig.jpg) no-repeat;
            background-size: 50%;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

在这里插入图片描述

<!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>Document</title>
    <style>
        div{
            width: 300px;
            height: 400px;
            border: 1px red solid;
            background: url(../images/media/pig.jpg) no-repeat;
            background-size: cover;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

在这里插入图片描述

<!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>Document</title>
    <style>
        div{
            width: 300px;
            height: 400px;
            border: 1px red solid;
            background: url(../images/media/pig.jpg) no-repeat;
            background-size: contain;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

在这里插入图片描述

移动端背景图展示

以iphone8为例,移动端展示背景图如果要保证背景图的清晰度,页需要将background-size设置为图片的一半,之后在视网膜屏放大2倍后,就不会影响图像的清晰度

8、移动端主流方案

8.1单独制作移动端页面

在浏览器打开时,如果使用的移动设备,就跳到专门的移动端页面

8.2响应式页面兼容移动端

通过判断屏幕宽度改变样式
缺点:制作麻烦,需要花费精力调试兼容问题

9、移动端技术解决方案

9.1 移动端浏览器

移动端浏览器基本以webkit内核为主,因此就考虑webkit兼容问题,可以使用H5和CSS3样式,同时浏览器前缀只需要考虑添加webkit即可

9.2CSS初始化normalize.css

移动端css初始化推荐使用normalize.css
官网地址:http://necolas.github.io/normalize.css

9.3CSS3盒子模型box-sizing

padding和margin不会撑大盒子

box-sizing:content-box;//传统盒子模型
box-sizing:border-box;//css3盒子模型

如何选择:

  • 移动端可以全部CSS3
  • PC端要完全兼容时,用传统模式。
  • PC端不考虑兼容,选择CSS3

9.4 特殊样式

链接点击清除高亮

//设置为透明色
-webkit-tap-highlight-color:transpartant;
<!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>Document</title>
    <style>
        a{
            -webkit-tap-highlight-color: transparent;
        }
    </style>
</head>
<body>
    <a href="#">链接清除</a>
</body>
</html>

原来:点击后有个蓝色高亮
在这里插入图片描述
清除后点击就没有了

清除按钮、输入框默认样式

移动端浏览器ios有默认外观,需要加上下边的属性才能给按钮和输入框自定义样式

-webkit-appearance:none;
<!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>Document</title>
    <style>
        a{
            -webkit-tap-highlight-color: transparent;
        }
        input{
            -webkit-appearance:none;
        }
    </style>
</head>
<body>
    <a href="#">链接清除</a>
    <input type="button" value="点击">
</body>
</html>

默认:
在这里插入图片描述
清除:
在这里插入图片描述

禁用长按页面时弹出菜单

img,a{
	-webkit-touch-callout:none;
}

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

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

相关文章

IDEA创建kotlin项目

今天新建了一个kotlin项目&#xff0c;竟然不能导入jar包&#xff0c;原因是新建项目的时候&#xff0c;选择了kotlin作为Gradle的开发语音&#xff0c;kotlin语音里面&#xff0c;下面这行配置识别不了&#xff1a; implementation fileTree(dir: libs, include: [*.jar])所以…

【蓝桥杯】第10届Scratch国赛第6题程序2 -- 捉迷藏

[导读]&#xff1a;蓝桥杯大赛是工业和信息化部人才交流中心举办的全国性专业信息技术赛事。蓝桥杯大赛首席专家倪光南院士说&#xff1a;“蓝桥杯以考促学&#xff0c;塑造了领跑全国的人才培养选拨模式&#xff0c;并获得了行业的深度认可。” 春雷课堂计划推出Scratch蓝桥杯…

青龙面板搭建+QQ机器人

搭建青龙面板首先有个服务器 我这里看到华为云有活动就入手了一个 1.系统选择 centos7.9 华为云购买地址&#xff1a;https://activity.huaweicloud.com/1212_promotion/index.html 2. 服务器上安装宝塔 yum install -y wget && wget -O install.sh http://downl…

340页11万字智慧政务大数据资源平台数据治理方案

一.1.1 数据治理子系统 建设大数据治理子平台&#xff0c;提供数据标准管理、元数据管理、数据质量管理能力&#xff0c;实现对数据的规范治理与管理&#xff1b;提供数据工厂能力&#xff0c;实现对归集的数据进行清洗、加工&#xff0c;支撑业务的数据应用需求。具体&#xf…

ES6 箭头函数 Arrow Function

前言 1. ES6 前定义函数 2. ES6 箭头函数语法 3. ES6 箭头函数返回值 4. 箭头函数中的 this 到底是谁 ? 前言 ES6 新增了一种新的函数: 箭头函数 Arrow Function 箭头函数相当于匿名函数&#xff0c;简化了函数定义&#xff0c;将原函数的 function 关键字和函数名都删掉&am…

学习.NET MAUI Blazor(三)、创建.NET MAUI Blazor应用并使用AntDesignBlazor

大致了解了Blazor和MAUI之后&#xff0c;尝试创建一个.NET MAUI Blazor应用。 需要注意的是&#xff1a; 虽然都叫MAUI&#xff0c;但.NET MAUI与.NET MAUI Blazor 并不相同&#xff0c;MAUI还是以xaml为主&#xff0c;而MAUI Blazor则是以razor为主。 这个系列还是以MAUI Bla…

23. 【gRPC系列学习】gRPC安全认证-JWT认证

JWT 即 JSON Web Token,是用 JSON 形式安全传输信息的方法。本节介绍JWT与gRPC结合,关于JWT交互流程的介绍参考文末的链接。 1. 使用JWT客户端与服务端交互 1)客户端使用用户名、密码发送给服务端 2)服务端返回JWT数据,返回数据由三部分组成 Header:TOKEN 的类型,就是JW…

截至2022年12月共计451个信息安全国家标准 汇总

写在前面 早年刚参加信息安全工作更多的学点皮毛技术&#xff0c;到处找安全工具&#xff0c;跟踪poc&#xff0c;拿到一个就全网扫一遍&#xff0c;从来没有想过&#xff0c;系统化的安全工作应该怎样搞?我做的工作在安全体系中处于哪个阶段? 后来有机会做企业安全建设&…

二本跨专业自学编程及程序员就业之路——20W社招进银行

自学编程的道路 先做个自我介绍&#xff0c;我是一名普通二本院校的学生。在广州上学&#xff0c;21年毕业&#xff0c;非科班出身。上大学之前&#xff0c;很少接触电脑&#xff0c;连QQ都是别人送我的&#xff0c;当时还开心了好一阵子。 大学的时候&#xff0c;开始接触的第…

对美国学校制度的一点儿思考

本文作者在美国生活了几十年&#xff0c;随着对这个国家的深入了解&#xff0c;发现原来对美国的一些认知上有偏差。所以其根据在美的所见所闻&#xff0c;结合中国国内的情况&#xff0c;做了分析对照&#xff0c;在此知识人网小编仅摘录关于美国学校制度的内容以飨读者。 美国…

喜报 | 知道创宇ZoomEye Pro获评ISC 2022创新能力百强,实力入选“攻击面与资产管理领域”创新产品榜单!

12月21日&#xff0c;ISC 2022数字安全创新能力百强颁奖典礼在北京举行。 知道创宇的 ZoomEye Pro 以其先进的网络安全技术和创新产品能力&#xff0c;通过层层筛选&#xff0c;从众多产品中脱颖而出&#xff0c;入选“攻击面与资产管理领域”的创新产品榜单&#xff01;知道创…

IDEA运行缓慢,闪退解决方式——增加堆内存

目录方法一&#xff1a;通过IDE修改配置方法二&#xff1a;使用ToolBox进行设置方法三&#xff1a;直接修改vmoptions文件如果遇到速度变慢的情况&#xff0c;可能需要增加内存堆。方法一&#xff1a;通过IDE修改配置 help–>Change Memory Setting–>修改为一个合适的值…

机器学习算法基础——决策树

文章目录决策树算法的定义发展历程适用范围及其优缺点适用范围优点缺点代码实现决策树算法的定义 决策树&#xff08;Decision Tree&#xff09;是在已知各种情况发生概率的基础上&#xff0c;通过构成决策树来求取净现值的期望值大于等于零的概率&#xff0c;评价项目风险&…

系统设计场景题—MySQL使用InnoDB,通过二级索引查第K大的数,时间复杂度是多少?

系统设计场景题—MySQL使用InnoDB&#xff0c;通过二级索引查第K大的数&#xff0c;时间复杂度是多少&#xff1f;前言明确场景对齐表的结构分析时间复杂度执行一条 select 语句&#xff0c;期间发生了什么&#xff1f;分析性能的瓶颈如何做出优化一、从业务上绕过二、使用覆盖…

史上最强人工智能ChatGPT 到底有多强?

ChatGPT 已经踏上了它的成神之路&#xff0c;这绝对是我所用过的&#xff0c;我相信也是你用过的&#xff0c;最让人震撼的人工智能产品&#xff0c;比起 AI 画画&#xff0c;它甚至更具颠覆性。只用短短十分钟&#xff0c;它就耗尽了我毕生所学的感叹词&#xff0c;最后只留下…

I2S和I2C分别如何连接pad

GPIO一共有8种输入输出模式。可参考&#xff1a; GPIO内部结构和各种模式_cy413026的博客-CSDN博客读了该篇文章可以知道&#xff1a;1.gpio可以直接用cpu通过寄存器控制读写2.可以直接与片内外设连接 受外设控制(I2C)3.gpio的push-pull和OD/OC结构4.上下拉在输入输出的使用5.…

微信小程序之实时聊天系统——页面介绍

目录 系统结果展示&#xff1a; 系统的页面说明&#xff1a; 1.我们首先再app.json中创建四个tabBar页面&#xff08;消息、联系人、用户列表、我的&#xff09; 2.消息页面&#xff1a; 3.联系人页面&#xff1a; 4.用户列表页面&#xff1a; 5.我的页面&#xff1a; 欢…

buildroot 勾选alsa - utils编译后未 /bin 包含

alsa-lib 这个库在 buildroot 已经默认编译进去我们可以不用管&#xff0c;我们只需要使能 alsa-utils 就 行了&#xff0c;还是在 buildroot 的源码目录下&#xff0c;运行以下命令进入图形化界面配置&#xff1a;make menuconfig 按照以下路径进入配置我们的 alsa-utils&…

【SpringMVC】请求参数的绑定

1.绑定说明 1.1 绑定的机制 我们都知道&#xff0c;表单中请求参数都是基于 keyvalue 的。SpringMVC 绑定请求参数的过程是通过把表单提交请求参数&#xff0c;作为控制器中方法参数进行绑定的。 例如&#xff1a; <a href"account/findAccount?accountId10"&…

Vulnhub靶机:PWNOS_ 2.0 (PRE-RELEASE)

目录介绍信息收集网站探测漏洞发现提权搜寻数据库配置文件SSH爆破第2种打法网站探测Sql注入&#xff08;手工&#xff09;Sql注入&#xff08;sqlmap&#xff09;读取文件写入文件提权参考介绍 系列&#xff1a;pWnOS&#xff08;此系列共2台&#xff09; 发布日期&#xff1a…