An iPhone has a screen resolution and also a viewport resolution. For instance the iPhone 11 actual screen is resolution is 828 x 1792 pixels and its viewport size is 414 x 896 pixels. You can find that the browser decides to show a page at the actual resolution instead of the normal viewport size that you actually want.
To set it to use the viewport resolution add this to the head section of your page:
https://cloud-developer.com/css/responsive-css/stopping-zooming-to-<meta name="viewport" content="width=device-width, initial-scale=1">