You need to use the "viewport" meta tag
(which is non-standard, but supported in most browsers), to address the difference in ppi on various devices. Essentially, you tell the browser to use a fixed size in "css pixels" for these devices, so that the site is displayed at a reasonable viewing size, not microscopic just because the device has a high ppi count.
There are various options, but:
<meta name="viewport" content="width=device-width, initial-scale=1.0">