手机移动端的一些布局,视口知识的分享
来源:互联网 发布:直通车定向推广优化 编辑:程序博客网 时间:2024/05/17 09:05
手机视口
使用js来检测屏幕视口的宽度
document.documentElement.clientWidth;
使用手机执行这段代码,发现不管是什么手机,大屏小屏,宽度都是980px
电脑:分辨率 = 视口宽度
但是,手机的分辨率远远大于980,比如iPhone6p 分辨率是:1240 * 2208
按道理说手机视口应该是1242才对
980是viewport的宽度,viewport就是视口
980是人为定的,这个是乔帮主(乔布斯)定的980这个数字
总结:980是人为规定的宽度,叫做视口宽度,所有手机的默认视口宽度都是980px,如果使用手机浏览没有优化的电脑网页,将会非常方便
但是:问题来了,如果我发布的页面专门用于手机访问,那么980太宽了,里边装的东西太多,我们希望使用手机屏幕真实宽度作为视口宽度
现在我们可以通过约束视口,打到我们的要求
<meta name='viewport' contant='width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scaleable=no'>
width = device-width:视口宽度约束到手机设备宽度
initial-scale:默认初始缩放比例
maximum-scale:最大可缩放比例
minimum-scale:最小可缩放比例
user-scaleable:用户是否可缩放
这个meta标签,就是做的视口约束,约束之后的视口宽度,和设备宽度相同,其实这个数字也是人为设置的,每个设备出厂都会制定一个约束视口的宽度
约束之后的视口不是自己的分辨率
当然作为前段工程开发工程师,我们不关心分辨率,我们只关心视口宽度
视口越小,字越大,约束之后的视口一般在320 - 480之间,这个宽度字足够小,看起来比较清晰,比较合适
流式布局
1,手机网页没有版心,两边没有留白,站满手机宽度
原因:
1)手机视口比较小,如果再有留白非常难看
2)手机APP基本都是沾满屏幕的,一般情况没有左右空白,但是没有版心,对我们的布局忽悠很大的影响,布局没有办法给固定值
手机没有版心,视口各不相同,所以做手机开发尽可能使用百分比布局,每一个元素都会根据屏幕的宽度变化而变化
2,百分比布局
如果使用百分比width,那么指的是父元素width的百分之几,没有父元素就参照body
如果使用百分比写height,那么指的是父元素的height的百分之几
如果使用百分比写padding,那么指的是父元素的width的百分之几,无论是水平的还是垂直的,都是以父元素的width为准
如果使用百分比写margin,那么指的是父元素的width为准,无论水平还是垂直,都是父元素的width为准
但是不能使用百分比写border
百分比布局
1,相对于谁
思维线:
手机屏幕小-->不要留白--> 撑满页面--> 视口宽度不同-->不能使用px固定-->使用百分比布局
百分比布局也就做流式布局,弹性盒子布局
2,css3弹性盒子属性 display:-webkit-box;
如果让三个盒子按照1:2:3来设置宽度,name每个盒子应该给多少百分比?
16.666% 33.3333% 50%
css3,推出一个新属性display属性有一个新的值:box,兼容还有一定问题,尽量加上-webkit-,加上这个属性之后,这个元素的所有儿子就是弹性布局了,儿子们不需要设置float:left,能够默认并排排列,通过设置-webkit-box-flex:num;来设置所占比例
3,css3新的盒子模型box-sizing:border-box;
box-sizing属性允许你以特定的方式定义匹配某个区域的特定元素
box-sizing就是盒子的尺寸,这是属性定义了你设置的width,height值的是什么宽度,高度
一般来说width,height指的是内容宽度和高度,但是加上 box-sizing:border-box;这时width和height值的是border外侧构成的盒子的宽度和高度
在之前css3退=推出了一个可以用于计算的属性:calc,可以用于数字或者百分比的计算
width:calc(50% - 10px);(相当于裁剪)
calc 只能做加减运算,并且必须带着单位,类似一个函数
现在很少人使用,一般使用box-sizing:border-box;一招鲜,吃遍天
4,固比固
1)绝对定位方法进行固比固布局
2)display:box 属性
5,min-width和max-width
按百分比布局的时候,进行一个限制
阅读全文
0 0
- 手机移动端的一些布局,视口知识的分享
- 移动端知识的一些总结
- 移动端知识的一些总结
- 移动端 rem 布局的一些总结
- 移动端 rem 布局的一些总结
- android布局的一些知识
- 手机证书的一些知识
- 手机的一些知识记录
- 手机的一些硬件知识
- 手机的一些硬件知识
- 一些移动开发的前端框架分享
- web前端 —— 移动端知识的一些总结
- web前端 —— 移动端知识的一些总结
- 关于移动端rem 布局的一些总结
- 关于移动端rem 布局的一些总结
- 关于移动端rem 布局的一些总结
- 关于移动端rem 布局的一些总结
- 移动前端知识的一些总结
- ListView(1)+intent获得应用
- ConcurrentLinkedQueue
- 基于PHP的微信红包
- PHP处理上传文件名
- 守护进程
- 手机移动端的一些布局,视口知识的分享
- egret连续点击事件的实现
- Stack
- php-8
- 将博客搬至CSDN
- tensorflow collection
- 三次握手
- 织梦模板建站必须学会的基本代码
- Trident State译文