1,服务器端判断ua
2,移动设备用viewport
题主希望能够适配不同设备,肯定不是静态页面吧,毕竟用到“适配”这个词,肯定是希望不同内容能够分别占据适当的体积、能够根据页面宽度布置不同的块吧?
那么在这样的前提下,我们想要的效果显而易见,对于电脑,左右可以有边栏、可以有更细小的按钮、更多的特效,而在手机上访问的时候,要简洁、快速、省流量
所以,首先根据ua判断用户用什么设备访问,是电脑就输出适用电脑的复杂的内容+css,是移动设备就输出适用于移动设备的简洁的内容+css。
用ua还有一个好处,就是能够配合cookie很方便地让用户自己选择适配。比如用户的ua没有识别出来,用户其实是手机+小众的浏览器,但是你提供了电脑版,用其他的方式很难想象如何去适配,但是配合cookie,只要用户选一次版式,以后都不会出问题。甚至,我本人有时候喜欢用手机上电脑版(因为电脑版往往功能多),我们应该给用户这个自由(如果不打算给的话,就更需要检查ua了)
然后,很意外的是没有看到有人说viewport,难道大家都不做移动开发或者做的时候不去适配多平台多设备?viewport对开发者非常方便,声明以后,你只要按照屏幕宽度320px(小屏)或者360px(大屏,也可以把小屏的直接居中,这里顺便吐槽一下mx3的4xx px)去开发,不管设备物理分辨率是多少,都会按比例矢量缩放到满屏(横向,纵向不谈了)。比如viewport声明320px宽以后,iphone 5s上满屏,800x480的安卓满屏,720的安卓满屏,1080的安卓只在两边有两个细白条,一居中就行了
是不是感觉仿佛特简单?
真的很简单,快点百度学学viewport,然后请后端同学吃个饭让他帮你搞定ua,适配多设备多平台从此不是梦css2/css3里面有个@media ,用法如 @media all and (device-height:800px){ … } ,应该能解决你的问题吧。通过rem 和 媒体查询结合使用
