美文网首页
关于移动端开发

关于移动端开发

作者: 肖青荣 | 来源:发表于2020-11-06 19:30 被阅读0次
    1.视口

    视口(viewport)就是浏览器显示页面内容的屏幕区域。 视口可以分为布局视口、视觉视口和理想视口
    布局视口 layout viewport
    一般移动设备的浏览器都默认设置了一个布局视口,用于解决早期的PC端页面在手机上显示的问题。
    iOS, Android基本都将这个视口分辨率设置为 980px,所以PC上的网页大多都能在手机上呈现,只不
    过元素看上去很小,一般默认可以通过手动缩放网页。

    视觉视口 visual viewport
    字面意思,它是用户正在看到的网站的区域。注意:是网站的区域。
    我们可以通过缩放去操作视觉视口,但不会影响布局视口,布局视口仍保持原来的宽度。

    理想视口 ideal viewport
    为了使网站在移动端有最理想的浏览和阅读宽度而设定
    理想视口,对设备来讲,是最理想的视口尺寸
    需要手动添写meta视口标签通知浏览器操作
    meta视口标签的主要目的:布局视口的宽度应该与理想视口的宽度一致,简单理解就是设备有多宽,我
    们布局的视口就多宽

    2.meta视口标签
    <meta name="viewport" content="width=device-width, user-scalable=no, 
    initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    

    width 宽度设置的是viewport宽度,可以设置device-width特殊值
    initial-scale 初始缩放比,大于0的数字
    maximum-scale 最大缩放比,大于0的数字
    minimum-scale 最小缩放比,大于0的数字
    user-scalable 用户是否可以缩放,yes或no(1或0)
    标准的viewport设置
    视口宽度和设备保持一致
    视口的默认缩放比例1.0
    不允许用户自行缩放
    最大允许的缩放比例1.0
    最小允许的缩放比例1.0

    3.关于移动端技术选型

    1. 单独制作移动端页面(主流)
    流式布局(百分比布局)
    flex 弹性布局
    rem+媒体查询布局
    混合布局
    2. 响应式页面兼容移动端(其次)
    媒体查询
    bootstarp

    流式布局

    流式布局,就是百分比布局,也称非固定像素布局。 通过盒子的宽度设置成百分比来根据屏幕的宽度来进行伸缩,不受固定像素的限制,内容向两侧填充。 流式布局方式是移动web开发使用的比较常见的布局方式。
    max-width 最大宽度 (max-height 最大高度)
    min-width 最小宽度 (min-height 最小高度)

    <style>
            * {
                margin: 0;
                padding: 0;
            }
            
            section {
                width: 100%;
                max-width: 980px;
                min-width: 320px;
                margin: 0 auto;
            }
            
            section div {
                float: left;
                width: 50%;
                height: 400px;
            }
            
            section div:nth-child(1) {
                background-color: pink;
            }
            
            section div:nth-child(2) {
                background-color: purple;
            }
        </style>
    </head>
    
    <body>
        <section>
            <div></div>
            <div></div>
        </section>
    </body>
    

    flex布局

    操作方便,布局极为简单,移动端应用很广泛
    PC 端浏览器支持情况较差
    IE 11或更低版本,不支持或仅部分支持
    如果是PC端页面布局,我们还是传统布局。
    如果是移动端或者不考虑兼容性问题的PC端页面布局,我们还是使用flex弹性布局
    当我们为父盒子设为 flex 布局以后,子元素的 float、clear 和 vertical-align 属性将失效。
    以下由6个属性是对父元素设置的
    flex-direction:设置主轴的方向
    justify-content:设置主轴上的子元素排列方式
    flex-wrap:设置子元素是否换行
    align-content:设置侧轴上的子元素的排列方式(多行)
    align-items:设置侧轴上的子元素排列方式(单行)
    flex-flow:复合属性,相当于同时设置了 flex-direction 和 flex-wrap

    rem 单位

    rem (root em)是一个相对单位,类似于em,em是父元素字体大小。
    不同的是rem的基准是相对于html元素的字体大小。
    比如,根元素(html)设置font-size=12px; 非根元素设置width:2rem; 则换成px表示就是24px。
    rem的优势:父元素文字大小可能不一致, 但是整个页面只有一个html,可以很好来控制整个页面的元
    素大小。

    /* 根html 为 12px */
    html {
    font-size: 12px;
    }
    /* 此时 div 的字体大小就是 24px */
    div {
    font-size: 2rem;
    }
    

    媒体查询

    媒体查询(Media Query)是CSS3新语法。
    使用 @media 查询,可以针对不同的媒体类型定义不同的样式
    @media 可以针对不同的屏幕尺寸设置不同的样式
    当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面
    目前针对很多苹果手机、Android手机,平板等设备都用得到多媒体查询

    @media mediatype and|not|only (media feature) {
    CSS-Code;
    }
    

    用 @media 开头
    mediatype 媒体类型
    关键字 and not only
    media feature 媒体特性 必须有小括号包含

     <style>
            * {
                margin: 0;
                padding: 0;
            }
            
            @media screen and (min-width: 320px) {
                html {
                    font-size: 50px;
                }
            }
            
            @media screen and (min-width: 640px) {
                html {
                    font-size: 100px;
                }
            }
            
            .top {
                height: 1rem;
                font-size: .5rem;
                background-color: green;
                color: #fff;
                text-align: center;
                line-height: 1rem;
            }
        </style>
    </head>
    
    <body>
        <div class="top">购物车</div>
    </body>
    

    相关文章

      网友评论

          本文标题:关于移动端开发

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