Home  >  Article  >  Web Front-end  >  HTML5 mobile adaptive layout

HTML5 mobile adaptive layout

Guanhui
Guanhuiforward
2020-07-20 12:47:333175browse

HTML5 mobile adaptive layout

Scenario: To adapt to screens of various sizes

Two ways I know of adaptive layout

1. Use media queries, formulated below There are several adaptation methods. For example, the first one indicates that the screen width is between 320px-360px, and the html font size is adapted to 13.65px

<style>
   @media only screen and (max-width: 360px) and (min-width: 320px){
    html{
     font-size:13.65px;
    }
   }
   @media only screen and (max-width: 375px) and (min-width: 360px){
    html{
     font-size:23.4375px;
    }
   }
   @media only screen and (max-width: 390px) and (min-width: 375px){
    html{
     font-size:23.4375px;
    }
   }
   @media only screen and (max-width: 414px) and (min-width: 390px){
    html{
     font-size:17.64px;
    }
   }
   @media only screen and (max-width: 640px) and (min-width: 414px){
    html{
     font-size:17.664px;
    }
   }
   @media screen and (min-width: 640px){
    html{
     font-size:27.31px;
    }
   }
  </style>

2. Responsive, get the width of the screen and calculate a certain For the proportion of size, use rem instead of px. When using it, such as font-size: 1rem, the size effect displayed on mobile phones with different screen sizes is different, and it is adaptive to the size ratio of the mobile phone screen

<script>
   (function(doc, win) {
    var docEl = doc.documentElement, //根元素html
     //判断窗口有没有orientationchange这个方法,有就赋值给一个变量,没有就返回resize方法。
     resizeEvt = &#39;orientationchange&#39; in window ? &#39;orientationchange&#39; : &#39;resize&#39;,
     recalc = function() {
      var clientWidth = docEl.clientWidth;
      if(!clientWidth) return;
      //把document的fontSize大小设置成跟窗口成一定比例的大小,从而实现响应式效果。
      if(clientWidth >= 640) {
       clientWidth = 640;
      }
      docEl.style.fontSize = 20 * (clientWidth / 320) + &#39;px&#39;;
      console.log(clientWidth);
      console.log(docEl.style.fontSize);
     };
     recalc();
    if(!doc.addEventListener) return;
    win.addEventListener(resizeEvt, recalc, false); //addEventListener事件方法接受三个参数:第一个是事件名称比如点击事件onclick,第二个是要执行的函数,第三个是布尔值
    doc.addEventListener(&#39;DOMContentLoaded&#39;, recalc, false) //绑定浏览器缩放与加载时间
   })(document, window);
  </script>
<p id="p2" class="text" style="border: 0.04rem solid #ccc;
            height: 14rem;font-size: 0.5rem;">

Recommended tutorial: "HTML"

The above is the detailed content of HTML5 mobile adaptive layout. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:jb51.net. If there is any infringement, please contact admin@php.cn delete