Home  >  Article  >  Web Front-end  >  The mobile web adapts to various screens, and no up, down, left and right scroll bars appear. The masters are here to help_html/css_WEB-ITnose

The mobile web adapts to various screens, and no up, down, left and right scroll bars appear. The masters are here to help_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:51:151594browse

rt
Now there is a mobile web, and the psd design draft is 640x1130 (w/h). The current requirement is that the scroll bar does not appear on mobile phones with various sizes of screens, and the pictures and buttons in the design draft are Instead of being stretched or squashed, it needs to be scaled proportionally;

My first approach was width:100%, height:100% and then calculate the percentage of the picture in the design draft and write the css style, In different mobile phones, the elements on the page appear to be stretched or squashed differently, and they are sent back to redo

My current idea is to first make a container with an aspect ratio of 1136/640 in the body , and then put the elements on the page in this container and lay them out according to percentages. Now the question is, when should the aspect ratio be set for this 1136/640 container? My implementation step is to use zepto.js

$(document).ready(function(){        // code   //...在屏幕中间,取出一个面积最大的 1136/640的容器,然后使其居中,左右留白})


But in this way, the page DOM has been loaded before I do this action, which is a bit late. My following thoughts are the same as before All labels in the 1136/640 container are written in js. After the container has set the aspect ratio of 1136/640, then append the label to this container

I don’t know if this method is feasible, so First, how to write the background program, I think this is a very bad design, please give me valuable opinions, suggestions, ideas or solutions, it will be greatly appreciated


Reply to discussion (solution)

Please search for responsive design

Simple Try complex css media query

@ 2nd floor, 3rd floor
There are all of these, I have contact, but there are so many mobile phones on the market, what should I do with media query
Maybe I didn’t describe the problem clearly:

The psd design draft is only 640 x 1136 (wxh), and the requirements are

1. The content in the design draft is displayed in full screen, and left and right spaces are allowed. , leave a blank space below
2. Scroll bars cannot appear
3. On mobile phones of various sizes, the elements of the design draft cannot be compressed or stretched to achieve proportional scaling

As shown below, If responsive design and media query can be realized, how to set the dividing point? Please tell me the detailed steps. Thank you

Calculate it with js. The device height minus the head and tail height is The height of the content area, the device width is the width of the content area, and then according to the picture ratio of the design drawing, calculate whether the width is smaller or the height is smaller (for example, the picture width-to-height ratio is 2:3, even if the content area size is 220:300, It is still considered that the height is smaller), and then calculate the image size based on the smaller size (for example, if calculated based on height, the width will not be set to automatically scale)
As for centering these, I believe it will not be difficult

Use js to calculate. The device height minus the head and tail height is the height of the content area. The device width is the width of the content area. Then according to the picture ratio of the design drawing, calculate whether the width is smaller or the height is smaller. (For example, the image width-to-height ratio is 2:3. Even if the content area size is 220:300, the height is still considered smaller), and then the image size can be calculated based on the smaller size (for example, if calculated based on height, the width command is not set. (its automatic scaling)
As for centering, I believe it will not be difficult



Well, thank you, basically we have found common ground. I also thought so, but for the code implementation, I should be After the dom is loaded, read the aspect ratio of the display area. If you use two sets of css, that is, when the browser aspect ratio is greater than the image aspect ratio, one set of css, and when it is smaller, the other set of css. How to quote all What about the required style files?

If the percentage image is deformed, you only need to set the width percentage for the image and do not set the height.

Outer container
Top
Middle (9-square grid)
Lower
Layout


Assume that the upper, middle and lower areas are all relative to the outer container
The three upper, middle and lower areas are all set with percentages
and the 9-square grid is all 33% wide High

1) What you want to control is the size of the outer container, css or js, whatever
2) All proportional scaling is impossible. For example, the picture above will inevitably happen when stretched at equal proportions. Some edges cannot be displayed

In addition, we should consider the definition of the size of the outer container when the device is turned horizontally

Whether to continue to fill the screen or height to fill the screen and stretch the width ratio in the play, or set min-height

If the percentage image is deformed, you only need to set the width percentage of the image and do not set the height



Hmm, the main problem is the setting of the entire page
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn