Home > Article > Web Front-end > Javascript uses rem for responsive development example sharing
This article mainly introduces the use of rem in javascript for responsive development. The editor thinks it is quite good. Now I will share it with you and give you a reference. Let’s follow the editor to take a look, I hope it can help everyone.
The computer version of the mall was finished last night, and today I am rushing to make the mobile version. When it comes to the mobile website, the first thing that comes to mind is to adapt to the width of different mobile phone screens to ensure that it can be used on different mobile phones. It can be displayed to users normally. When I made this kind of website before, I introduced bootstrap without thinking. But after completing the previous project, I found that although bootstrap is good, I rarely use the various styles in it. I use it most for layout. When the website is finally uploaded, you will find that even after compression, it will take up a lot of space. A large part, so this time I want to use native writing and responsive development (I still know a little bit about it now). At present, I understand
1. Percentage method:
As the name suggests, the margin, padding, width, height, etc. of the page elements are calculated using %. What does the hundred in the percentage in CSS refer to? It refers to the parent element. All percentages are like this. of. If the width of the child element is 50%, then the width of the parent element is 100, the padding-left of the child element is 50%, the width of the parent element is 100, and the margin-top of the child element is 20%, then the height of the parent element is 100. Therefore, the default width of the body is the screen width (referring to the browser width in PC). The descendant elements can be positioned according to percentages (or specified sizes). This is only suitable for pages with simple layouts. It is difficult to implement complex pages.
2. Media query:
This is given in css3. The problem we want to solve is to adapt to the mobile phone screen. This media query is exactly for Born to solve this problem, the function of media query is to set different css styles for different media. The "media" here includes page size, device screen size, etc. The most commonly used form is
phone:@media screen and (max-width: 767px) {/Mobile style/}
pad:@media screen and (max-width: 991px)and(min-width:768) {/Tablet style/}
pc:@media screen and (min-width: 992px){/Computer Style/}
...(You can also set more nodes)
Use For media queries, you must ensure that each pixel has a corresponding adaptation effect. Obviously you need to set a smaller width range;
3. There is also the unit rem of css3:
rem is to use the font-size value of the root node html as the base size of the entire page. For example, 24f6ee081ffe8b8b47a5b9b95efd48bf then 1rem=10px; how to make it suitable Match it? Then you need to use js to get the width of the window (width of the browser window) $(window).width() when the page is loaded; when developing mobile pages, we generally set the maximum width to 640px, because 640px can guarantee When displayed on the widest mobile phone to date, both ends of the web page just fit the screen. Let me give you a small example.
Screen enlargement and reduction The three p's are also in the same line and are also enlarged and reduced proportionally
html
<p class="container"> <p class="box">1</p> <p class="box">2</p> <p class="box">3</p> </p>
css
<style> html{font-size: 20px;} .container{ max-width: 640px; border:1px solid red; margin:0 auto; overflow: hidden; box-sizing: border-box; } .box{ float: left; width:10.6rem; //我这里设置html的font-size:20px;最大 宽为640px,即相当于640/20=32rem;一行有3个p,所以每个p宽10.6rem 你也可以像论坛里面讲的那样设置html的font-size:62.5%;因为浏览器默认像素16px;乘以62.5%之后为整数10px;方便计算 height:10.6rem; border:1px solid #000; box-sizing: border-box; } </style>
js
<script> window.onresize = window.onload = function () { var w = $(window).width(); if(w<640){ var size = 20*w/640;//640的时候 对应html的font-size为20,那么宽度为w是对应 的font-size可这么求 $('html').css('fontSize',size+'px'); } } </script>
Note that there is a small pit here. When you put this small When the demo is verified in Google Chrome, you will find that the three p's will shrink as your browser window shrinks at first, and will stop moving after reaching a certain value. The reason is that Google Chrome supports the HTML font by default. The minimum value of -size is 10px; if it is smaller than this value, it will not be smaller. This is the problem I encountered at the time. I spent almost two hours searching on the Internet and demonstrated it over and over again but could not figure it out. Finally, I found this Non-human reasons.
Related recommendations:
Sharing how to use bootstrap responsive tools
Several suitable for web programmers Responsive framework
How to make responsive layout with CSS3
The above is the detailed content of Javascript uses rem for responsive development example sharing. For more information, please follow other related articles on the PHP Chinese website!