iOS10 开始忽略user-scalable=no 的声明, 给使用css position: fixed 带来新问题

同事测试新版本的时候发现,他的mobile safari可以缩放我们的自适应网站. 我记得我们的自适应页面已经禁止了用户缩放.查了一下, 原来从ios10开始,它就忽略meta的禁止缩放的申明了. 这样一个改变造成了页面上,使用position:fxied 的地方的发生定位错误.

我查了一下,原来16年这个ios出来后, 开发者就开始骂了. 不过这个人写的博客文章比较客观,让我们重新审视一下,responsive 设计原则中的禁止缩放真的对用户负责的吗?

历史上,从iOS5开始,就对postion:fixed支持有问题. 这个用户列举了ios5下的position:fixed 的种种问题.
https://remysharp.com/2012/05/24/issues-with-position-fixed-scrolling-on-ios

说回来,我们还是要解决用户在ios safari里,使用手指缩放( pinch to zoom )后,造成 position fixed 错误的问题.

把dh生产环境5.5升级到5.6

大概过程如下

lsb_release -a

#https://www.digitalocean.com/community/questions/how-to-upgrade-from-php-v-5-5-9-to-v-5-6
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php5.6 php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml
sudo a2dismod php5
sudo a2enmod php5.6
sudo service apache2 restart

一下是需要的模块
sudo apt-get install php5.6-curl

sudo apt install php5.6-bcmath
sudo apt install php5.6-gd
sudo apt install php5.6-zip