移动端web开发基础认知

本文介绍了移动端开发中的响应式布局原理,包括viewport设置、媒体查询@media的运用,以及像素、em和rem的解析。重点讨论了如何通过设置viewport实现不同屏幕尺寸的兼容,使用@media调整不同屏幕大小的样式,以及利用flexible.js实现快速的移动端自适应方案。同时,文章提到了em和rem在动态控制页面大小中的应用。
摘要由CSDN通过智能技术生成

1.移动端开发认知

1.1 响应式布局的必要

为了能够使同一网站能够更好的兼容不同尺寸屏幕的浏览,设计开发网站常使用的技术为响应式布局

1.2 响应式布局的三要素

  1. viewport视窗设置
  2. @media媒体查询
  3. 不要写死尺寸!!
    • 多用百分比定义尺寸
    • 多用rem、em确定尺寸
    • 多用vh、vw确定尺寸

2.要点

2.1 viewport(视窗)

指的是视窗的窗口
对于移动端viewport默认为980px或1080px

以下代码可以让浏览器窗口宽度和屏幕相同

<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
		<style type="text/css">
其中name表示设置类型为 viewport
宽度width为当前with  device-width
user-scalable是否能缩放
initial-scale设置缩放值,一般为1

2.2 像素

早期css中1px等于屏幕1px

随着技术的发展,屏幕分辨率改变,屏幕分辨率和尺寸不匹配,会出现1个css中px等于2/3个物理px

在移动浏览器或者pc浏览器中,window对象 devicePexelRatin属性 dpr 可以获取

在js中用以下代码可以获取

window.devicePixelRatio

2.3 @media的使用方法

具体用处:当屏幕大小进行改变时能够有不同的样式显示
简单演示:

<style type="text/css">
			body{
				background-color: red;
			}
			@media screen and (max-width:1100px) {
				body{
					background-color: blue;
				}
			}
		</style>

此处 screen 可以改成 all 等其他选择

以上设置可以使页面宽度大于1100px时为红色,小于1100px时为蓝色

除以上方法,外接样式也可以使用

<link rel="stylesheet" type="text/css" media="screen and (max-width:1100px)" href="css/index_max_1100.css" />


此处 screen 可以改成 all 等其他选择

以上代码表示,当页面宽度小于1100px时加载index_max_1100.css样式表

2.4 em与rem的应用

  • em
    根据页面字体大小变化,默认字体大小为20px

  • rem
    在html中设置font-size后可以动态的控制页面大小

<style>
	htle{
		font-size :20px;
		}
	div{
	weight:1rem;
	hight:1rem;
		}
</style>

此内容表示1rem等于20px,修改font-size可以改变rem的大小,div默认为1rem X 1rem大小

注:文字不建议用rem,一般用px

2.5 flexible.js移动端自适应方案

github地址:https://github.com/amfe/lib-flexible
官方文档地址:https://github.com/amfe/article/issues/17

具体效果:使用js动态的改变font-size和dpr(物理像素和开发像素比)达到适配屏幕的效果,快捷方便,具体内容请查看官方文档。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值