难度级别:初级及以上 提问概率:40%
我们知道,这道题其实是在考察meta标签的viewport属性,正常情况下设置viewport的代码为
<head>
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
</head>
而控制是否可以手动缩放的属性是user-scalable,如果设置这个属性的值为no,表示不允许手动缩放,反之,如果设置属性值为yes,则表示允许手动缩放;代码中的width设置为device-width表示设置为设备宽度,当然,也可以按照实际项目开发情况设置750或其他宽度;initial-scale表示页面初始化的时候,指定的缩放比例;既然可以通过user-scalable控制是否可以手动缩放,那么就会有允许用户最大和最小的缩放比例阈值,分别是maximum-scale和minimum-scale。
虽然有允许用户手动缩放的属性可以设置,但用户缩放后,很容易使网页失去原有的美感,甚至缩放到一定程度还会出现显示或是点击事件等问题,所以大部分我们所看见的网页还是不允许用户手动缩放的。但需要注意的是,user-scalable默认属性值是yes,这就表示开发H5移动端页面的时候,需要特意将属性值设置为no,为了保险起见,还要将maximum-scale的属性值设置为1.0 。
其实还有height属性,但给viewport设置height属性并没有什么意义,因为一般网页都不会只有一屏的高度,它只会更长。
刷题思考
其实meta标签还有很多属性值,而viewport只是其中一个,所以与这道题相关联的面试题也会产生很多。但我们即便做一年项目,又会写几次meta标签呢,大部分时候还不是复制粘贴之前的项目代码。尽管如此,谁也不能阻止面试官发问,我们能做的就是,将答案总结起来,面试前做到临阵磨枪即可。
类似考点
这道题类似的考点会围绕meta标签展开,例如请你说一说常用的meta标签都有哪些?例如现在SPA单页面项目比较多,而title、keywords、description这些利于SEO优化的静态文案如何赋值,也会是一大考点。