GshpIxauY

23朵毒蘑菇

记录一下浏览器缩放和移动端缩放的区别,其实两者是有很大的不同的,之前一直搞不明白。

浏览器缩放会改变分辨率,而移动端不会,我说的分辨率是浏览器为当前网页容器设置的分辨率,而不是屏幕的物理分辨率哟。

浏览器缩放

2023-09-19 15:26:40 已有版本 1 个 show:1.04kTYPE: blog

直接问AI它们之间的区别的话,是这么回答的

浏览器缩放和移动端缩放是两种不同的概念,它们涉及到用户在不同设备上改变网页内容大小的方式。以下是它们的主要区别:

  1. 浏览器缩放(Desktop Browser Zoom):

    • 浏览器缩放是指在桌面计算机浏览器上,用户通过调整浏览器窗口的缩放级别来改变网页内容的大小。
    • 用户可以使用浏览器的缩放功能,通常通过按住Ctrl键(在Windows上)或Command键(在Mac上)并滚动鼠标滚轮或使用快捷键来实现。也可以在浏览器菜单中找到缩放选项。
    • 浏览器缩放会同时改变网页的文本、图像和布局大小,以适应用户的缩放设置。这可以用来增大或减小整个页面,包括文字和图像。
  2. 移动端缩放(Mobile Device Zoom):

    • 移动端缩放是指在移动设备(如智能手机或平板电脑)上,用户通过手势来放大或缩小网页内容,而不是调整浏览器窗口的大小。
    • 用户可以使用手指捏合或展开手势来控制网页的缩放级别。将两个手指捏合在一起会缩小页面,将它们展开会放大页面。
    • 移动端缩放通常只改变网页的视觉呈现,而不会改变网页的实际布局或文本大小。这意味着页面元素的物理大小和排列方式不会改变,只是视觉上会变得更大或更小。

总的来说,浏览器缩放和移动端缩放是用于不同类型设备和交互方式的调整页面大小的方法。浏览器缩放更适用于桌面计算机,而移动端缩放则更适用于触摸屏设备,它们的效果和用户体验有所不同。在网页设计中,需要考虑到这些不同的缩放方式,以确保用户在不同设备上都能获得良好的用户体验。

以下是我的理解

首先浏览器缩放会改变分辨率

我说的分辨率是浏览器为当前网页容器设置的分辨率,而不是屏幕的物理分辨率哟。

很明显,假设当我css设置100vw,100vh后,相应元素占满全屏,此时元素宽高为100px,200px。
那我缩放大小为50%后,还是占满屏,且宽高为200px,400px。所以分辨率此时是变了的。

而移动端只会像放大镜似的放大缩小

看下移动端像刚才的设置,移动端放大缩小其实分辨率是没有改变的,页面加载后它就设置好了视口分辨率,放大缩小只是将该视口进行像放大镜似的放大缩小,放大后被遮挡的部分就可以左右滑动来浏览了。
所以像我刚才设置的元素在浏览器上无论怎么放大缩小,它所有内容都能一眼看到,而在移动端上放大了就看不全了,只能上下左右滑动来看全,缩小的话占不满它又自动回弹去占满视口了。

优缺点

浏览器的话放大缩小会导致元素排列发生变化,因为设置固定宽度和百分比宽度的元素在某一分辨率下长的差不多,分辨率一变就大变样了,而移动端的话放大缩小就对网页元素的排列没影响了,只是把所有内容都放大了嘛。

移动端呢,可以在head里添加以下标签来限制初始分辨率,具体属性可以百度查看

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, minimum-scale=0.5, user-scalable=yes">

以上就是我的简单理解,记录以下防止忘记。