HTML5开发之viewport的使用

    xiaoxiao2022-06-22  18

    HTML5开发之viewport的使用

    在使用HTML5进行开发的过程中,我们会遇到这样的问题:不同的手机可能会有不同的分辨率和不同的屏幕大小,我们如何使开发出来的应用或页面能适用于不同的手机呢?(即是网页的适配问题)

    通过viewport的使用,可以帮助我们解决这个问题。viewport是一个虚拟的窗口(通常比真实设备的屏幕宽),浏览器可以把页面放入其中来显示,我们可以通过设置viewport的大小,动态的设置网页中控件元素的大小,从而使得在不同的设备上看到同样效果的页面(只是比例可能会有所不同)。

    viewport语法如下:

        <head>                                                                                                                          

           <meta name="viewport"                                                          

      content="height = [pixel_value |device-height] ,                                                                                                                                                               

               width = [pixel_value |device-width ] ,                                                                             

               initial-scale =float_value ,                                                         

               minimum-scale =float_value ,                                                         

               maximum-scale =float_value ,                                                         

               user-scalable = [yes | no],                                                         

               target-densitydpi =[dpi_value | device-dpi | high-dpi |                                                           medium-dpi |low-dpi]"/>                                                         

        </head>                                                               

    viewport属性值介绍:

    height控制viewport的大小,可以指定一个值或者一个特殊的值,如device-hieght 便代表了设备的高度(单位为缩放100%时的CSS的像素)。

    width:和height一起控制viewport的大小,同样可以指定一个值或者一个特殊的值,如device-width 便代表了设备的高度(单位为缩放100%时的CSS的像素)。

    initial-scale:设置页面的初始缩放程度(加载时的比例),我们需要设置一个浮点数值,这个浮点数是页面大小的一个乘积,例如:我们设置为“1.0”的话,页面就会以目标显示屏分辨率的1:1来展示;如果我们设置为。

    注释:如果要设置当前viewport的宽度,我们可以使用width=device-width 或 initial-scale=1.0 ,两者的效果相同(在两者同时出现时,viewport会选择较大的宽度)。

    下面的代码效果是相同的:

    <meta name="viewport" content="width=device-width"

    <meta name="viewport" content="initial-scale=1"

    minimum-scale: 允许用户缩放到的最小比例,我们需要设置一个浮点数值。

    maximum-scale: 允许用户缩放到的最小比例,我们需要设置一个浮点数值。

    user-scale: 用户是否可以手动缩放。值为"no"或"yes", no 代表不允许,yes代表允许。如果将其设置为no,那么minimum-scale 和 maximum-scale都将被忽略。

    target-densitydpi(只有Android设备支持,尽量不用): 表明设备的密度等级,用于决定css中的1px代表多少物理像素,即dpi。target-desitydpi的取值范围如下:

    l device-dpi:使用设备原本的dpi 作为目标 dpi。通常我们选择该值,来让我们的网页根据不同屏幕的像素密度对页面进行缩放。

    l high-dpi: 使用hdpi作为目标dpi。 中等像素密度和低像素密度设备相应缩小。

    l medium-dpi: 使用mdpi作为目标dpi。 高像素密度设备相应放大, 低像素密度设备相应缩小。 这是默认的targetdensity.

    l low-dpi:使用ldpi作为目标dpi。中等像素密度和高像素密度设备相应放大。

    l <value>: 指定一个具体的dpi值作为targetdpi. 这个值的范围必须在70–400之间。

     

    注释:viewport属性值的属性可以单独或混合使用,多个属性同时使用时,要用逗号隔开。

     

    通过上面的内容,我们已经讲解了如何静态的设置viewport,下面我们来 讲解一下动态的改变meta viewport标签:

    动态改变metaviewport标签

    1.  通过使用document.write来动态输出metaviewport标签,代码如下:

    document.write('<metaname="viewport"content="width=device-width,initial-scale=1">');

    2.  通过setAttribute方法来改变,代码如下

    <metaid="Viewport1" name="viewport">

    <script>

    var viewport1 =document.getElementById('Viewport1');

    viewport1.setAttribute('content','width=device-width');

    </script>

     

    到这里为止,我们就对meta viewport标签进行了一个简单的讲解,希望可以供大家参考!

    转载请注明原文地址: https://ju.6miu.com/read-1122978.html

    最新回复(0)