Mobile web--Adaptive Web Design (HTML/CSS control)

Source: Internet
Author: User

This article mainly refers to: http://www.ruanyifeng.com/blog/2012/05/responsive_web_design.html (Nanyi's blog)

On the basis of this article has been added to write their own understanding (the article Blue section).

I. Allow Web page width auto-adjust:

How does "adaptive Web Design" work? It's not that hard actually.

First, in the header of the page code, add a row of viewport meta tags.

<meta name= "viewport" content= "width=device-width, initial-scale=1"/>

Viewport is the default width and height of the page, which means that the page width defaults to the screen width (width=device-width), the original scale (initial-scale=1) is 1.0, that is, the initial size of the page occupies 100% of the screen area.

For the viewport attribute, I was really in touch with mobile Web development is only encountered, the general PC layout is fixed 960px,1000px this.

The following three articles are detailed explanations of the viewport properties:

Understanding of the--pc end of Viewport (viewport concept)

Viewport (viewport concept)--application of mobile end

viewport--viewport Concept (RPM)

For older ie6,7,8 browsers need JS processing, because the main platform is iOS and Android, so you can temporarily not consider

Two. Do not use absolute width

Because the page adjusts the layout based on the width of the screen, you cannot use an absolute width layout or an element with an absolute width. This is a very important article.

Specifically, CSS code cannot specify pixel widths:

width:xxx px;

Only percent widths can be specified:

width:xx%;

Or:

Width:auto;

Development here refers to a Web page not only can be used on the PC, but also for the mobile side, but for WebApp this still need to do a separate webapp to use the page.

For this point of knowledge, for my current project is useful, mainly for the control of the database to read the width of the image.

See: Mobile WebApp's jquery mobile first use experience and solve image adaptive size problems

Three. The relative size of the font

The font also cannot use absolute size (px), but only relative size (EM).
Body {
Font:normal 100% Helvetica, Arial, Sans-serif;
}
The above code specifies that the font size is 100% of the default size of the page, which is 16 pixels.
H1 {
Font-size:1.5em;
}
Then, the size of the H1 is 1.5 times times the default size, which is 24 pixels (24/16=1.5).
Small {
Font-size:0.875em;
}
The size of the small element is 0.875 times times the default size, which is 14 pixels (14/16=0.875).

Four. Flow layout (fluid grid)
The meaning of "flow layout" is that the positions of each block are floating, not fixed.
. Main {
Float:right;
width:70%;
}
. leftbar {
Float:left;
width:25%;
}
The advantage of float is that if the width is too small to fit two elements, the following elements will automatically scroll to the bottom of the preceding element without overflow (overflow) horizontally, avoiding the appearance of the horizontal scroll bar.
In addition, the use of absolute positioning (Position:absolute) should also be very careful.

Five. The core of "adaptive web Design" is the media query module introduced by CSS3.
It means that the screen width is automatically detected and then the corresponding CSS file is loaded.
<link rel= "stylesheet" type= "Text/css"
Media= "screen and (max-device-width:400px)"
href= "Tinyscreen.css"/>
The code above means that if the screen width is less than 400 pixels (max-device-width:400px), the Tinyscreen.css file is loaded.
<link rel= "stylesheet" type= "Text/css"
Media= "screen and (min-width:400px) and (max-device-width:600px)"
href= "Smallscreen.css"/>
If the screen width is between 400 pixels to 600 pixels, the Smallscreen.css file is loaded.
In addition to loading CSS files with HTML tags, you can also load them in an existing CSS file.
@import url ("tinyscreen.css") screen and (max-device-width:400px);

Six. @media rules for CSS
The same CSS file, you can also choose to apply different CSS rules depending on the screen resolution.
@media screen and (max-device-width:400px) {
. column {
Float:none;
Width:auto;
}
#sidebar {
Display:none;
}
}
The above code means that if the screen width is less than 400 pixels, the column block is de-floating (float:none), Width auto-adjusting (Width:auto), and the sidebar block is not displayed (Display:none).

This article is explained in detail: mobile phone web--Adaptive web Design (@media use)

Seven .  image adaptation (fluid image)
In addition to layout and text, adaptive web design must also implement automatic scaling of pictures.
This is just one line of CSS code:
img { max-width: 100%;}
This line of code is also valid for most video embedded web pages, so it can be written as:
img, object { max-width: 100%;}
The old version of IE does not support max-width, so it has to be written as:
img { width: 100%; 
Additionally, image distortion may occur when the Windows platform scales pictures. At this point, you can try to use the exclusive command of IE:
img { -ms-interpolation-mode: bicubic; }
or,ethan  Marcotte's imgsizer.js.
Addloadevent (function ()  {
Var imgs = document.getelementbyid ("content"). getElementsByTagName ("img");
Imgsizer.collate (IMGs);
});
However, if you have the conditions, it is best to load different resolution images depending on the screen size. There are many ways to do this, both server side and client can implement.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.