移动端常见布局方案
2020-07-02 13:34
204 查看
文章目录
一.基本概念:
(1)移动端兼容性处理:主要处理webkit内核即可。
(2)解决屏幕适配问题的方案:
与视口相关的视口标签的设置(即移动端屏幕有多宽我们布局的视口就有多宽)
layout view 视觉视口
ideal view理想视口
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no">//移动端默认视口宽度为980px,为了适应不同宽度的屏幕,需要将width等于设备宽度。 <meta http-equiv="x-UA-compatible" content="ie-edge">
(3)物理像素比的问题:
屏幕开发清晰度问题,在pc端1px对应1个物理像素点,但是移动端的1px对应的物理像素点个数不一定,1px对应的物理像素越多,清晰度越高。
如:PC端的1个物理像素点对应的1px显示在移动端可能就是0.5px。
(4)移动端特殊样式的处理
-webkit-box-sizing:border-box //采用c3盒模型 -webkit-tab-highlight-color:transparent //点击默认高亮效果 -webkit-appearance:none //去除输入框,按钮的自定义样式 -webkit-touch-callout:none //禁止长按页面时的弹出菜单。
二.移动端布局方案:
1.单独制作移动端页:
单独制作页面时的布局方法包括:流式布局,弹性布局,less+rem+媒体查询,混合布局,
流式布局和弹性布局主要针对宽度的变化,而媒体查询+rem则让屏幕变化时元素的宽度和高度一起变化。
(1)流式布局(百分比布局)
(2)弹性布局:
//父元素 display:flex flex-direction:column/row/row-reserve/column/reserve //设置主轴方向为水平或垂直或者水平翻转等 align-items:flex-start/flex-end/strech/center //单行元素的排列方式 align-content:flex-start/flex-end/strech/center/strech-around/strech-between //多行子元素的排列方式 justify-content:center/space-around //单个子元素的样式 flow-wrap:nowrap/wrap/wrap-reserve //控制是否换行 flex-flow:row wrap //是flex-direction和flow-wrap的综合。 //子元素 order:0 //各元素的排列顺序,默认为0,数值越小排列越靠前。 align-self:flex-start/flex-end/center //单个子元素在侧轴的排列方式。
(3)less+rem+媒体查询布局
less
//一:注释:在less中/**/会被编译出来,而//不会 //二:变量混入:@变量名:值 div(@size:20px){ font-size:@size; }//相当于下面的div样式 div{ font-size:20px } //三:嵌套 <style> div{ p{ h1{ } } } </style> <div> <p> <h1></h1> </p> </div> //四:运算:+ - * / //五:引入其他less文件:@import '**.less'
rem与em
<style> html{font-size:10px} div{font-size:10px} p{font-size:1em}//em参照父元素的字体大小 p{font-size:1rem}//rem参照根元素的字体大小 </style> <div> <p></p> </div>
媒体查询
是css3的新语法,用来设置不同宽度屏幕下的样式。即使用css样式就可以解决响应式布局
//实现方式一: <link rel="stylesheet" media="mediatype and/not/only (media-feature) {}" href="根据不同的media尺寸引入不同的样式文件"> //实现方式二: <style> @mediatype and/not/only (media-feature) { body{ background-color:pink } } </style> //================================================================= medidtype:媒体类型:all/print/screen/speech 用于所有设备,打印机,电脑手机屏幕,屏幕阅读器等 and/not/only:包括,排除,仅有某种媒体类型 media-feature:媒体功能:width/min-width/max-width 输出设备页面宽度,页面最小可视宽度,页面最大可视宽度
(4)混合布局
2.响应式页面兼容移动端:
(1)响应式布局原理
响应式布局基于媒体查询来设置屏幕宽度。所以在响应式布局中也可以使用媒体查询。
快速开发响应式布局的框架如bootstrap,它的原理包括:
(2)bootstarp原理:
布局容器
<div class="container"></div>//固定宽度 <div class="container-fluid"></div>//100%布局,适合单独做移动端开发
栅格系统
@media screen and (max-width:768px){ container:100% }//col-xs-超小屏幕:<768px,设置宽度100% @media screen and (min-width:768px){ container:750px }//col-sm-小屏幕:>=768,设置宽度750px @media screen and (min-width:992px){ container:970px }//col-md-中等屏幕:>=992px,设置宽度970px @media screen and (min-width:1200px){ container:1170px }//col-lg-大屏:>=1200px,设置宽度1170px <div class="col-xs-6 col-md-3"></div>//在屏幕划分为12份前提下,超小屏幕时该盒子占据6份,中等屏幕时占据3份 <div class="col-sm-offset-4"></div>//列向右偏移4个列的宽度 <div class="col-md-push-4"></div>//右推 <div class="col-md-pull-4"></div>//左拉 <div class="hidden-sm"></div>//在超小屏幕下隐藏 //在栅格系统列嵌套时会出现不能完全填充父盒子的问题,可以在他们的外面的加一个div来解决该问题,如以下。 <div class="container"> <div> <div class="col=md-6"></div> <div class="col=md-6"></div> </div> </div>
相关文章推荐
- 移动端页面自适应解决方案—rem布局-(旧方案)
- 移动端布局方案 网易
- 移动端布局常见问题
- 移动端常见布局注意事项及解决方法
- 移动端布局方案探究
- 移动端自适应布局方案尝试
- 移动端布局方案汇总&&原理解析
- pc、移动端 自适应布局方案
- 倾力总结40条常见的移动端Web页面问题解决方案
- 移动端布局方案 适用于单页面H5,让元素完全显示在可视窗口内, 精准计算rem
- 移动端rem布局中,当显示横屏时,解决根目录font-size切换屏幕不变情况(相较于引用rem.js方案的不足)
- 【总结】css常见两列布局方案
- 移动端布局方案 讲解与实例
- 前端常见的布局方案大全
- 第122天:移动端开发常见事件和流式布局
- 40条常见的移动端Web页面问题解决方案
- 40条常见的移动端Web页面问题解决方案
- 纯CSS实现移动端常见布局——高度和宽度挂钩的秘密
- 常见的移动端Web页面问题解决方案
- 第二篇、倾力总结40条常见的移动端Web页面问题解决方案