解决一像素问题的另一种解决方案

  1. <span style="font-size:18px;"><html>  
  2.   
  3.     <head>  
  4.         <title>1px question</title>  
  5.         <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">  
  6.         <meta name="viewport" id="WebViewport" content="initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">       
  7.         <style>  
  8.             html {  
  9.                 font-size: 1px;  
  10.             }             
  11.             * {  
  12.                 padding: 0;  
  13.                 margin: 0;  
  14.             }  
  15.               
  16.             .bds_b {  
  17.                 border-bottom: 1px solid #ccc;  
  18.             }  
  19.               
  20.             .a,  
  21.             .b {  
  22.                 margin-top: 1rem;  
  23.                 padding: 1rem;                
  24.                 font-size: 1.4rem;  
  25.             }  
  26.               
  27.             .a {  
  28.                 width: 30rem;  
  29.             }  
  30.               
  31.             .b {  
  32.                 background: #f5f5f5;  
  33.                 width: 20rem;  
  34.             }  
  35.         </style>  
  36.         <script>  
  37.           
  38.             var viewport = document.querySelector("meta[name=viewport]");  
  39.             //下面是根据设备像素设置viewport  
  40.             if (window.devicePixelRatio == 1) {  
  41.                 viewport.setAttribute('content', 'width=device-width,initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no');  
  42.             }  
  43.             if (window.devicePixelRatio == 2) {  
  44.                 viewport.setAttribute('content', 'width=device-width,initial-scale=0.5, maximum-scale=0.5, minimum-scale=0.5, user-scalable=no');  
  45.             }  
  46.             if (window.devicePixelRatio == 3) {  
  47.                 viewport.setAttribute('content', 'width=device-width,initial-scale=0.3333333333333333, maximum-scale=0.3333333333333333, minimum-scale=0.3333333333333333, user-scalable=no');  
  48.             }  
  49.             var docEl = document.documentElement;  
  50.             var fontsize = 10 * (docEl.clientWidth / 320) + 'px';  
  51.             docEl.style.fontSize = fontsize;  
  52.               
  53.         </script>  
  54.     </head>  
  55.   
  56.     <body>  
  57.         <div class="bds_b a">下面的底边宽度是虚拟1像素的</div>  
  58.         <div class="b">上面的边框宽度是虚拟1像素的</div>  
  59.     </body>  
  60.   
  61. </html></span>

猜你喜欢

转载自www.cnblogs.com/chaoyuehedy/p/9178807.html