在桌面端,页面默认的滚动条是<html>元素产生的,而在移动端,该滚动条是<body>元素产生的。
也就是说,在桌面端网页中,我们设置如下所示的CSS代码,可以让页面窗体不产生滚动条:
但是在移动端,上面的设置是无效的,反而需要设置在<body>元素上:
这个现象也就导致一些在传统页面中运行良好的代码在移动端会有问题,例如使用JavaScript设置页面滚动到顶部,在过去,开发者可能会使用如下所示的JavaScript代码:
这就会导致一个问题,如果是响应式布局的页面,那么这段代码在移动端就会出现问题,也正是考虑到这一点,W3C官网定义了一个新的全局API——document.scrollingElement,可以返回当前页面的窗体滚动对象,此API已经在2015年开始陆续被现代浏览器支持。
至于其他一些特性,例如页面没有<body>元素的时候浏览器会自动生成<body>元素、<!DOCTYPE html>严格模式等就不展开介绍了,大家只要正常使用HTML即可,无须了解这些细节知识。