Mobile web screen adaptation (rem)

Mobile web screen adaptation (rem)

Preface

I recently sorted out my previous notes on learning front-end, and found that I didn’t really understand the mobile web screen adaptation (rem), I just knew how to use it.

Next, I’ll record some of my thoughts on mobile web screen adaptation (rem).

rem Introduction

rem represents the font-size of the root element (<html>). That is, if the font-size of the root element is 14px, then 1rem = 14px

rem adapted to mobile web

Adaptation effect

On screens of different sizes, the size of the same element may not appear to be the same, but the proportion of the screen width they occupy is the same.

Code

// In the head tag of the html file <script type="text/javascript">
  (function(){
    var html = document.documentElement;
    // Get the screen width (px)
    var hWidth = html.getBoundingClientRect().width;
    // Set the font-size of the html tag to hWidth/15
    html.style.fontSize = hWidth/15 + 'px';
  })()
</script>
// In less /* define variable @r: 750/15 */
@r:50rem; 
div {
  width: 100/@r;
  height: 200/@r;
}

javascript code

First, we copy 1/15 of the screen size (px) to the font-size attribute of the html tag. At this point, on any screen size, 1/15 px of the screen size (px) is equal to 1rem. That is, on screens of any size, as long as the same rem value is set for an element, the proportion of the screen width occupied by the element will be the same on screens of all sizes. If the proportion is the same, it will be adapted to screens of all sizes.

less code

Now we just need to convert the px units of the elements in the design into rem units.

So, at this time, we can regard the design draft as a mobile phone screen of a certain size.
In my case, the width of the design is 750px.

Therefore, 750/15 = 50px, that is, on a mobile phone screen of the size of the design draft, 1rem = 50px.

Then, in the less code, we define a variable @r.

The width of the div is measured to be 100px. Because in a screen of the size of the design draft, 1rem = 50px, so the rem value of the div is: 100/50 rem, that is, 100/@r.

The height of the div is measured to be 200px. Because in a screen of the size of the design draft, 1rem = 50px, so the rem value of the div is: 200/50 rem, that is, 200/@r.

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

<<:  How to build YUM in Centos7 environment

>>:  Move MySQL database to another disk under Windows

Recommend

Let IE6, IE7, IE8 support CSS3 rounded corners and shadow styles

I want to make a page using CSS3 rounded corners ...

Mini Program to Implement Simple List Function

This article example shares the specific code of ...

Analysis of the Principle of MySQL Index Length Limit

This article mainly introduces the analysis of th...

Detailed explanation of HTML document types

Mine is: <!DOCTYPE html> Blog Garden: <!...

Detailed explanation of the process of installing msf on Linux system

Or write down the installation process yourself! ...

React Hook usage examples (6 common hooks)

1. useState: Let functional components have state...

Discussion on image path issues in css (same package/different package)

In CSS files, sometimes you need to use background...

A brief discussion on the CSS overflow mechanism

Why do you need to learn CSS overflow mechanism i...

Detailed explanation of the use of DockerHub image repository

Previously, the images we used were all pulled fr...

htm beginner notes (must read for beginners)

1. What is HTML HTML (HyperText Markup Language):...

Detailed explanation of the frame and rules attributes of the table in HTML

The frame and rules attributes of the table tag c...

Analysis of JavaScript's event loop mechanism

Table of contents Preface: 1. Reasons for the eve...

Summary of MySQL date and time functions (MySQL 5.X)

1. MySQL gets the current date and time function ...

Detailed explanation of the use of MySQL sql_mode

Table of contents Preface sql_mode explained The ...