移动端布局

视口

  1. 布局视口
    把页面压缩到手机屏幕大小
  2. 视觉视口
    手机屏幕显示页面的一小部分,其余部分需拖拉屏幕看
  3. 理想视口
    根据手机屏幕大小来设计样式
    需要添加meta视口标签
// content属性
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
属性描述
name=“viewport”理想视口
content="width=device-width使页面大小与设备一样大
user-scalable=noyes ,no用户不可缩放
initial-scale=1.01.0初始缩放比
minimum-scale=1.01.0最小缩放比
maximum-scale=1.01.0最大缩放比

二倍图
pc端的1px = 2个手机物理像素
pc端 一个5050的图,放在手机端为100100的图会模糊
把100的图缩小50再添加到手机上放大为100

特殊样式

移动端开发时一些样式的影响

属性作用
box-sizing=border-box设置盒子的固定大小
-webkit-tap-higlight-color : transparent;点击高亮我们需要清除清除
-webkit-applearance: none;ios上加上这个属性才能给按钮和输入框自定义样式
-webkit-touch-callout : none禁止长按页面时的弹出菜单

移动端布局技术

单独制作移动端页面

1. 流式布局
通过盒子的宽度设置成百分比来根据屏幕的宽度来进行伸缩,不受像素的限制,内容向两侧填充
max-width: px;
min-width: px;
2. flex弹性布局
通过父盒子添加flex属性,来控制子盒子的位置和排列的方式
flex布局父项常用属性

属性描述
flex-direction :row(x轴左到右), row-reverse(x轴右到左), column(从上到下), column-reverse(从上到下)设置主轴的方向
justify-content :flex-start(从左到右),flex-end(从右到左),center(主轴居中), space-around(平分剩余空间), space-between(两边贴边,平分其余)设置主轴上的子元素排列方式
flex-wrap :nowrap(不换行) wrap(换行)设置子元素是否换行
align-items :flex-start,flex-end,stretch(向Y轴,子盒子不给高度),center(水平垂直居中)设置侧轴上的子元素(单行)排列方式
align-content :flex-start,flex-end,center,space-around, space-between,stretch设置侧轴上的子元素(多行)排列方式
flex-flow :同时设置了 flex-direction和flex-wrap复合属性

flex布局子项常用属性

属性描述
align-self控制子项自己在侧轴上的排列顺序
order属性定义项目的排序顺序,数值越小,排列越靠前,默认为0

3. less+rem+媒体查询布局
em相对于父元素的字体大小来说的
rem相对于html 元素字体大小来说的
媒体查询
@media 可以针对不同的屏幕尺寸设置不同的样式

// 当你重置浏览器大小的过程中,页面会根据浏览器的宽度和高度重新渲染页面
@media mediatype and|not|only (media feature){  CSS-Code;   }
属性
mediatype 媒体类型all 用于所有设备,print 用于打印机和打印预览,screen 用于电脑屏幕,平板电脑,智能手机
关键字 and not onlyand(和多个媒体特征连接在一起“且”),not (排除某个媒体类型“非”, only (指定某个特定的媒体类型)
media feature 媒体特征width , min-width , max-width
// 示例  在屏幕上最大的宽度是800px ,设置我们想要的样式
@media screen and (max-width: 800px){ }

媒体查询过程
1.选择一套标准尺寸 750px
2. 用屏幕尺寸 除以 我们划分的份数 得到html里面的文字大小
不同屏幕下得到的文字大小是不一样的
3 .页面元素的rem值 = 页面元素在 750像素的下px值 / html里面的文字大小

媒体查询 + rem实现元素动态大小变化
根据媒体查询页面不同大小给html设置font-size=大小,
1rem = 设置的大小

flexible.js + rem
flexible.js 代替媒体查询
使用flexible.js 文件自动设置rem相对屏幕适配大小

响应式页面兼容移动端

响应式开发的原理
使用媒体查询针对不同宽度的设备进行布局和样式的设置

设备屏幕大小
超小屏幕宽度设置为100%
小屏设备宽度为750px
平板>=768px
中等屏幕宽度为970px
桌面显示器>=992px
宽屏设备宽度为1170px
大桌面显示器>=1200px
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值