纯手打:meta标签-完美视口


meta(苹果发明的,桌面浏览器不支持)

###viewport
<meta name="viewport" content="" />
    width [pixel_value | device-width] width 
    -- 直接去设置具体数值大部分的安卓手机是不支持的 但是IOS支持
    initial-scale 初始缩放比例
    user-scalable 是否允许缩放 (no||yes),默认允许
    minimum-scale 允许缩放的最小比例
    maximum-scale 允许缩放的最大比例 
    target-densitydpi 
        -- dpi_value 70–400 //每英寸像素点的个数
        -- device-dpi 设备默认像素密度2
        -- high-dpi 高像素密度   
        -- medium-dpi 中等像素密度
        -- low-dpi 低像素密度
        -- webkit内核不再支持了
    height

<meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,
initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,target-densitydpi=device-dpi" /> 

width

就是用来控制布局视口的大小的,width=device-width会使布局视口的大小变成理想视口的大小
                                            (即独立设备像素代表的大小)

95%的浏览器都支持width=device-width

      旋转(横竖屏切换):
    当用户旋转设备时,布局视口的宽度通常会发生改变。因为横竖屏时的理想视口尺寸不一样
    但ios的safari很例外,基于性能的考虑它的布局视口不会做出改变

initial-scale

缩放是根据理想视口来计算的,这个缩放不同于我们用户的缩放,它会使布局视口跟随着我们的视觉视口一起转变
所以只设置inital-scale=1其实等同于只设置width=device-width       

完美视口!!!!

<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no" />

        完美视口不仅仅只能解决旋转时的问题。
        如果你页面中存在太大的元素,你的meta标签只使用width=device-width,initial-scale=1.0中的
一个,有些浏览器会扩展布局视口的宽度来容纳这个元素,这里的兼容性很复杂,但你两个都使用了,
大部分浏览器都不会改变布局视口了

width与inital-scale之间的冲突

布局视口在width与inital-scale产生分歧时会选择他们中比较大的那一个

minimum-scale 允许缩放的最小比例

maximum-scale 允许缩放的最大比例

没有这些指令,默认为20%-500%
有这些指令后可扩大到10%-1000%

安卓webkit不支持这两个属性(默认缩放范围为25%-400%)
ie压根不认识他们俩


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM