移动端布局

作者: debt | 来源:发表于2017-06-30 10:46 被阅读196次

移动端布局

标签(空格分隔): 未分类


预备知识

  • Device Pixels 设备屏幕的物理像素,硬件指标,这个就是指铺多少点,和编程关系不大。
  • dpr==dppx (Number of device pixels per CSS Pixel) 设备像素比表示1个CSS像素(宽度)等于几个物理像素(宽度)。 window.devicePixelRatio可以得到这个值
  • CSS Pixels web编程中的概念。所以,1个CSS像素在不同设备上可能对应不同的物理像素数,这个比值是设备的属性(Device Pixel Ratio,dpr)
    在CSS规范中,长度单位可以分为绝对单位和相对单位。px是一个相对单位,相对的是设备像素(Device Pixels)。比如iPhone5使用的是Retina视网膜屏幕,用2x2的Device Pixel代表1x1的CSS Pixel,所以设备像素数为640x1136px,而CSS逻辑像素数为320x568px
  • viewport 在没有缩放的情况下,屏幕的CSS像素宽度其实是指理想视口的宽度,而meta标签:
    <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
    指定了布局视口=理想视口,并且禁止缩放。所以添上width=device-width的viewport meta后页面变大了(一开始页面内容小得看不清),实际上是布局视口变小了

现在知道为啥子移动端会出现1px问题了吧

关于设计稿

因为存在不同比例的尺寸的手机,设计师不可能对每个尺寸手机进行设计稿还原,一般来说,以ip6尺寸为宜。下面举例的时候以ip6为准。

ip6数据

尺寸

css Pixels :375667 这个就是你写代码的时候的尺寸
device Pixels: 750
1444 设计稿尺寸(注意/2)
dpr:2 表示1个css像素宽度等于2个


设计稿 ==> 静态页面

由上面例子我们可以看出,设计稿尺寸和css尺寸是有个2倍关系的,所以写css的时候无脑/2

  • 问题:我们拿到设计稿如何还原尺寸?

文字流式,控件弹性,图片等比缩放。

布局示例图

解释: 控件弹性指的是,navigation、cell、bar等适配过程中垂直方向上高度不变;水平方向宽度变化时,通过调整元素间距或元素右对齐的方式实现自适应。这样屏幕越大,在垂直方向上可以显示更多内容,发挥大屏幕的优势。


常规及技巧

  1. 一个典型的移动端布局meta头
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    逐个属性解释

    • width=device-width让屏幕看宽度等于设备宽度,简单点理解就是让手机浏览器的宽度适应手机屏幕
    • initial-scale=1 默认缩放比例
    • maximum-scale、minimum-scale及user-scalable属性控制允许用户以怎样的方式放大或缩小页面
  2. rem布局

    • 设置font-size.两种方式
      1. js设置
    document.addEventListener('DOMContentLoaded', function(e) {
                document.getElementsByTagName('html')[0].style.fontSize = window.innerWidth / 10 + 'px';
    
     2. css设置
    

@media (min-device-width : 375px) and (max-device-width : 667px) and (-webkit-min-device-pixel-ratio : 2){
html{font-size: 37.5px;}
}
```
+ 转化尺寸
根据比例图转化尺寸,这一步没啥说的,你可以摆个计算器算,也可以用scss或者less写个函数自己转化。

参考资料

rem和设计稿
移动端适配多种设计稿
手淘适配方案
flexiable使用
1px问题

相关文章

  • web移动端布局之流式布局

    移动端布局之流式布局meta视口标签,写移动端布局必须加入视口标签: 二倍图:在移动端布局中,我们需要一个5050...

  • 补充8: flex布局

    flex 布局与传统布局 传统布局兼容性好, 但是布局繁琐, 且不适合移动端flex布局更方便, 更适用移动端. ...

  • 移动端css(三)

    目录: 1 移动端特点 2 百分比布局 3 Flex布局 一 移动端特点 • 移动端和PC端网页不同点• 谷歌模拟...

  • 网络编程(七)移动端布局(1)

    pink老师移动端布局还有最后一小部分,坚持下,很快就能把网页端及移动端布局学完了。这篇博客主要讲述的是移动端布局...

  • 移动端布局

    移动端布局 移动端h5、Android、iOS的各自实现方式不同,布局方式也不同。但,随着移动终端的普及,用户展示...

  • web移动端常见面试题以及适配兼容问题

    1、移动端你们一般采用什么布局?移动端设计稿是多大的尺寸? ● 定宽布局 ● 一般移动端设计稿是640或者750的...

  • 移动端布局方案 rem

    移动端布局方案 rem 示例

  • 移动端

    app Web App Hybird App 移动端页面 设计图 测试 移动端的设置 移动端的布局 弹性 fl...

  • 移动布局

    移动web开发流式布局 ====================== 1.0 移动端基础 1.1浏览器现状 PC端...

  • 移动端布局

    1、大的背景图: 2、背景图里面的Input框

网友评论

    本文标题:移动端布局

    本文链接:https://www.haomeiwen.com/subject/mwvmcxtx.html