3.如何解决1px问题.html 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <!--
  10. 1.设置视口的initial-scale
  11. document.write('<meta name="viewport" content="width=device-width,initial-scale='+ 1/window.devicePixelRatio +',user-scalable=no">');
  12. 通过window.devicePixelRatio获取到dpr,若dpr为2,则1px在retina屏上实际上横跨了2个像素,通过将scale设置为1/2,
  13. 2.使用transform中的scale属性 //width和height设为原来的2倍
  14. .box{
  15. width: 200px;
  16. height: 200px;
  17. border: 1px solid black;
  18. transform: scale(0.5);
  19. }
  20. -->
  21. <!--
  22. 设置meta标签,禁止用户缩放
  23. <meta name="viewport"
  24. content="width = device-width,
  25. user-scalable = no,
  26. initial-scale = 1.0,
  27. maximum-scale = 1.0,
  28. minimum-scale = 1.0"
  29. />
  30. 作用:告诉浏览器使用设备的宽度作为视图的宽度
  31. viewport 视图大小
  32. width 页面宽度
  33. device-width 设备的物理宽度(屏幕宽度)
  34. initial-scale 设备也没的初始缩放值 (值>1 放大; 值<1 缩小,最小为0,不能为负)
  35. minimum-scale 允许用户的最小缩放值
  36. maximum-scale 允许用户的最大缩放值
  37. user-scalable 是否允许用户进行缩放,值为no或yes
  38. (能够解决iPad切换横屏之后触摸才能回到具体尺寸的问题)
  39. -->
  40. </body>
  41. </html>