¿çÖÕ¶Ë/ÏìӦʽҳÃæ²»ÍâºõÊÇÈø÷ÖÖ·Ö±æÂʵÄÆÁÄ»¶¼ÄÜ˳ÀûÔĶÁÄãµÄÒ³Ã棬³£¹æÀ´½²Ò»¸ö¿çÖÕ¶ËÒ³Ã棬ÔÚ¿íÆÁµÄµçÄÔÉÏ¿´ºÍÔÚСÆÁÄ»ÊÖ»úÉÏ¿´µÄ²¼¾ÖÊDz»Í¬µÄ£¬²¼¾Ö²»Í¬µÄÔÒòÊÇΪÁËÈöÁÕ߸üºÃµØÔĶÁÄãµÄÒ³Ã棬¼ûÏÂͼ£º
ÕâÀïÓеãÒªÌáµ½µÄÊÇ£¬ÎÒÃdz£¹æ»á½«PC°æµÄÒ³ÃæºÍÒƶ¯¶ËÉ豸µÄÒ³Ãæ¶ÀÁ¢¿ªÀ´Éè¼Æ£¬ÕâÑù»áÈÃPC¶ËµÄÒ³Ãæ²¼¾Ö¸üÁé»îºÍºÃά»¤¡£Èç¹ûÄãÏ£ÍûÄãµÄÒ³ÃæÄÜÊÊÅä°üÀ¨PC¶ËÔÚÄÚµÄÈκÎÉ豸£¬ÄÇôÏÂÃ漸¸öС¹¤¾ß¿ÉÒÔ·½±ãÄã¹Ë¼°¾É°æ±¾IEËù´æÔÚµÄÀ§ÈÅ£º
¢Å IE8-²»ÄÜʶ±ðHTML5µÄ<hearder>¡¢<article>¡¢<footer>¡¢<figure>µÈ±êÇ©£¬¿ÉÒÔͨ¹ý
html5.js À´½â¾ö£º
<!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> |
È»ºó½«ÏÂÃæ´úÂëдÈëÄãµÄbase.cssÀ´¸ñʽ»¯html5±êÇ©£º
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } |
¢Æ IE8-²»Ö§³ÖCSS3 media queries£¬¼´²»Ö§³Ö"@media only screen"Óï·¨£¬¿ÉÒÔͨ¹ý
css3-mediaqueries.js À´½â¾ö£º
<!--[if lt IE 9]>
<script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js">
</script> <![endif]--> |
±¾ÎĽö̸ÂÛÒƶ¯¶ËµÄÒ³ÃæÊÊÅ䷽ʽ£¬²»¿¼ÂÇPCÆÁÄ»»·¾³£¬²»¹ýÔÀí¾ùÊÇÏàͨµÄ¡£±¾ÎÄÒ²²»ÌÖÂÛSPA/OPAµÄʵÏÖ¡£
£¨Ò»£©°Ù·Ö±È¸³Öµ
ÏàÐÅÐí¶à¸Õ½Ó´¥ÏìӦʽҳÃæÉè¼ÆµÄÅóÓÑ£¬µÚһʱ¼ä¿¼Âǵ½µÄ¾ÍÊǽ«layoutÊýÖµÉèΪ°Ù·ÖÖµÐÎʽ£¬°üÀ¨width¡¢height¡¢padding¡¢marginµÈ´óС¡¢Æ«ÒÆ¡¢·½Î»µÄ¸³Öµ¡£
ÀýÈ磺
<!doctype html> <html> <head> <style> html, body { magin: 0; padding: 0; } .outDiv { margin: 3% auto; width: 85%; height: 350px; background: red; } </style> <meta charset="utf-8"> <title>test</title> </head>
<body>
<div class="outDiv"> Hello </div>
</body>
</html> |
³£¹æÀ´ËµÎÒÃÇ»áÓù̶¨Öµ»òÕß×Ô¶¯ÖµÀ´ÉèÖÃÈÝÆ÷µÄ¸ß¶È£¬Ò»µ©ÎÒÃÇÏëҪʹÓðٷֱÈÀ´ÉèÖÃÔªËظ߶Èʱ£¬ÎÒÃÇ¿ÉÄÜ»áÕâôд£º
<!doctype html> <html> <head> <style> html, body { magin: 0; padding: 0; } .outDiv { margin: 0 auto; width: 85%; height: 50%; background: red; } </style> <meta charset="utf-8"> <title>test</title> </head>
<body>
<div class="outDiv"> Hello </div>
</body>
</html> |
µ«ÔÚÔËÐдúÂëºó£¬Äã»á·¢Ïָø߶ÈÑùʽ²¢Ã»ÓÐÉúЧ¡£½â¾öÕâ¸öÎÊÌâµÄ·½·¨ºÜ¼òµ¥£¬¸øÍâ²ãÔªËØ"bady,html"Ìí¼ÓÒ»¸ö
height:100% µÄÑùʽ¼´¿É£¬¾ßÌåÔÀí¿ÉÒÔ²éÔÄÎҵľÉÎÄÕÂCSS°Ù·Ö±È¶¨Òå¸ß¶ÈµÄÀä֪ʶ ¡£
VIEWPORT½éÉÜ
ÕâÀïÏÈ´ò¶ÏÒ»ÏÂÎÄÕ£¬¼òµ¥½éÉÜÏ¡°viewport¡±£¬×öÒƶ¯¶ËÒ³Ã濪·¢µÄÅóÓѱØÐëÁ˽âviewport¡£
ÎÒÃÇÔÚʹÓÃÒƶ¯¶ËÉ豸ä¯ÀÀÍøҳʱ£¬Òƶ¯¶Ëä¯ÀÀÆ÷ÊÇÖ±½Ó°ÑÕû¸öÒ³Ãæ·Åµ½Ò»¸öÐéÄâµÄÊÓͼÀïÀ´ÏÔʾµÄ£¬Í¨³£À´ËµÕâ¸öÐéÄâµÄÊÓͼ´óС»á±ÈÊÖ»úÆÁÄ»´ó£¬Óû§¿ÉÒÔͨ¹ýÊÖÊƲÙ×÷À´Æ½ÒÆ¡¢Ëõ·ÅÕâ¸öÊÓͼ¡£
ΪÁË·½±ãÀí½â£¬ÎÒÃǼÙÉèÓÐÕâôһ¸öÒ³Ã棺

¢Ù Èç¹ûûÓÐviewportÕâÖÖ¶«Î÷£¬ÔÚÒƶ¯¶Ëä¯ÀÀÆ÷ÉÏ·ÃÎʸÃÒ³Ãæ¿ÉÄÜÊÇÕâÑùµÄ£º
¢Ú ÓÐÁËviewportºóÊÇÕâÑùµÄ£º

viewportµ®ÉúµÄ³õÖÔÊÇΪÁËÈÃÒƶ¯¶Ë¸üÈËÐÔ»¯µØä¯ÀÀPC¶ËÒ³Ã棬µ«ËüÒ²´øÀ´ÁËһЩÎÊÌ⣬´Ó¶ø´ßÉúÁËÀàËÆiscroll.jsµÄ¹¤¾ß¡£
£¨¶þ£©½ûÓÃÒƶ¯¶ËÉ豸µÄ²¿·ÖÌØÐÔ£¨·Ç±ØÒª£¬°´ÐèʹÓã©
¢Å ½ûÓÃviewportËõ·Å¹¦ÄÜ
ÔÚÒ³ÃæÍ·²¿¼ÓÉÏÈçÏÂÓï¾äÀ´½ûÓÃviewportµÄËõ·ÅÌØÐÔ£¨ÏìӦʽҳÃæ»ù±¾ÊÇ°´°Ù·Ö±ÈÀ´²¼¾ÖºÍÊÊÅäµÄ£¬Óû§Ëõ·ÅÒ³Ãæ·´¶øÓ°ÏìÔĶÁЧ¹û£©£º
<meta name="viewport" content="width=device-width, initial-scale=1.0,
maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" /> |
ÈçÉÏÎÒÃÇÉèÖÃviewport³õʼ»¯Ê±±ãÊÊÅäÉ豸ä¯ÀÀÆ÷µÄ¿í¶È£¬ÇÒÎÞ·¨Ëõ·Å£¬¸Ãmeta±êÇ©¾ßÌå²ÎÊýÈçÏ£º
width£ºviewport µÄ¿í¶È£¬¿ÉÒÔÖ¸¶¨Ò»¸ö¹Ì¶¨Öµ£¬Èç650£»»òÕß¿ÉÒÔÊÇdevice-width£¬±íʾÉ豸µÄ¿í¶È¡£
height£ººÍ width Ïà¶ÔÓ¦£¬¿ÉÖ¸¶¨¸ß¶È¡£
initial-scale£ºÒ³Ãæ³õʼËõ·Å±ÈÀý(0-1)
maximum-scale£ºÔÊÐíÓû§Ëõ·Åµ½µÄ×î´ó±ÈÀý(0-1)
minimum-scale£ºÔÊÐíÓû§Ëõ·Åµ½µÄ×îС±ÈÀý(0-1)
user-scalable£ºÓû§ÊÇ·ñ¿ÉÒÔÊÖ¶¯Ëõ·Å£¨yes/no£©
ÉÏÊömeta±êÇ©¿ÉÄÜ»áÔھɰæµÄiphoneÖе¼Ö²¼¾Ö´íÎóµÄÎÊÌ⣬ÒòΪ¾É°æµÄiphone»áĬÈÏ°ÑÒ³Ãæ×ö980¿í¶ÈäÖȾ£¬µ«×îÖÕÒÔ320¿í¶ÈÏÔʾ£¬ÎÒÃÇ¿ÉÒÔÔÙ½Ó׿ÓÒ»¾ämeta±êÇ©À´¼æÈÝ£¨ÈÃiphoneÒÔ320µÄ¿í¶ÈÀ´äÖȾҳÃ棩£º
<meta name="MobileOptimized" content="320"> |
¢Æ ½ûÓÃWebkitÎı¾µ÷½Ú¹¦ÄÜ
ÎÞÂÛÊÇÒƶ¯¶Ë»¹ÊÇPC¶Ë£¬webkitÄں˵Ää¯ÀÀÆ÷»á×Ô¶¯µ÷½ÚÎÄ×Ö´óС¡£ÀýÈçChrome²»»áÏÔʾСÓÚ12pxµÄ×ÖºÅЧ¹û£¬¼´Ê¹ÄãÉèÖÃ
font-size:10px£¬Ò³ÃæÒ²½«äÖȾΪ12pxµÄ´óС¡£
ÁíÍâÒƶ¯É豸ÔÚ×ÝÏòģʽºÍºáÏòģʽ²éÔÄÒ³Ãæʱ£¬Îı¾µÄ´óСҲ»á±»ä¯ÀÀÆ÷µ÷½Ú£º

½ûÓøù¦ÄܵÄ;¾¶ÊÇʹÓÃ-webkit-text-size-adjust À´ÉèÖã¨chrome28+ÒÑʧЧ£©£º
body { -webkit-text-size-adjust: 100%; } |
£¨Èý£©CSS3 media queries
CSS3 media queries£¨ºó¼ò³ÆΪCMQ£©ËãÊÇÏìӦʽҳÃæÉè¼ÆµÄÒ»°ÑÈðÊ¿¾üµ¶£¬¿ÉÒÔ°ÑÄãµÄÒ³ÃæÔÚ²»Í¬·Ö±æÂʵĻ·¾³Ïµñ×Á³É¶ÔÓ¦µÄ¡¢×îºÃ¿´µÄÂÖÀª£¬ÕÆÎÕÁËCMQÒ²ËãÊÇÕÆÎÕÁËÏìӦʽҳÃæÉè¼ÆµÄ»ù´¡¡£
CMQÔÚÑùʽÎļþÖеÄʹÓúܼòµ¥£¬ÆäÓ﷨Ϊ
@media only screen and (max/min-width/height: 960px) { /* Ñùʽ¶¨Òå */ } |
ÆäÖгÈÉ«¸ßÁÁµÄ ¡°only screen¡± ²ÎÊý±íʾÏÞ¶¨µ±·ÃÎÊ»·¾³£¨Ã½ÌåÀàÐÍ£©Îª²ÊÉ«ÆÁÄ»É豸ʱ²ÅÉúЧ¡£
¸Ã²ÎÊý¿ÉѡֵΪ all | aural | braille | handheld | print |
projection | screen | tty | tv | embossed
³ý·Ç¸Ã²ÎÊýÊýֵΪall£¬·ñÔò¿ÉÒÔÔÚÇ°Ãæ¼Ó¸öonlyÏÞ¶¨ÀàÐÍ¡£¶ÔÓÚÒƶ¯¶ËºÍPC¶Ë£¬ÎÒÃÇÖ»ÐèÉèΪ "screen"
»ò "only screen" ¼´¿É£¬½¨ÒéʹÓúóÕߣ¬ÆäÓïÒå¸üΪÑϽ÷¡£
ÁíÒ»¸ö¸ßÁÁµÄ²ÎÊý ¡°max/min - width/height¡± ±íʾµ±ÆÁÄ»µÄ¿í¶È/¸ß¶È³¬¹ý»òÕßСÓÚij¸öֵʱÔòÉúЧ£¬¾ßÌå¿ÉÒÔ¿´ÏÂÃæµÄʾÀý£º
¢Å Max Width
@media only screen and (max-width:500px){ .outDiv { margin: 0 auto; width: 85%; height: 50%; background: red; } } |
¸Ã´úÂë¶Î±íʾֻÓе±ÆÁÄ»¿í¶ÈСÓÚ500pxʱ²ÅÉúЧ¡£
¢Æ Min Width
@media only screen and (min-width:500px){ .outDiv { margin: 0 auto; width: 85%; height: 50%; background: red; } } |
¸Ã´úÂë¶Î±íʾֻÓе±ÆÁÄ»¿í¶È´óÓÚ500pxʱ²ÅÉúЧ¡£
¢Ç Max/Min Height
ͬ max/min-width £¬±íʾµ±ÆÁÄ»¸ß¶ÈСÓÚ/´óÓÚÉ趨ֵʱÑùʽ²ÅÉúЧ¡£³£¹æÀ´Ëµ£¬ÎÒÃÇʹÓÃ
max/min-width ±È½Ï¶à£¬¶øºÜÉÙʹÓà max/min-height ¡£
¢È Multiple Media Queries
ÓÐʱºòÎÒÃÇÐèÒª¶¨ÒåÑùʽÊÇÔÚij¸ö·Ö±æÂÊÇø¼ä£¨±ÈÈç500px-900px£©²ÅÉúЧ£¬ÕâʱºòÎÒÃÇ¿ÉÒÔµþ¼ÓʹÓÃ
max/min-width/height ¡£
·½·¨ºÜ¼òµ¥£¬¼Ó¶àÒ»¸ö¡°and¡±¼´¿É£º
@media only screen and (mix-width:500px) and (max-width:900px){ .outDiv { margin: 0 auto; width: 85%; height: 50%; background: red; } } |
¢É Device Width
ÎÒÃÇÉÏÊöµÄ max/min-width/height ¾ùÊÇÕë¶Ô¿ÉÊÓÇøÓò·Ö±æÂʵģ¬Èç¹ûÏ£ÍûÕë¶ÔÉ豸µÄʵ¼Ê¿í¶ÈÀ´ÊÊÅ䣬ÎÒÃÇ¿ÉÒÔÀûÓÃ
max-device-width À´ÊµÏÖ£º
@media only screen and (max-device-width:900px){ .outDiv { margin: 0 auto; width: 85%; height: 50%; background: red; } } |
¸Ã´úÂë¶Î±íʾµ±É豸ÆÁÄ»¿í¶ÈСÓÚ900pxʱ£¬ÆäÄÚ²¿¶¨ÒåµÄÑùʽÉúЧ¡£´ò¸ö±È·½£¬Èç¹ûä¯ÀÀÆ÷´ò¿ªÁËÒ»¸öС´°¿Ú£¨·ÇÈ«ÆÁÏÔʾ£©£¬¸Ã´°¿ÚµÄ¿í¶È¶Ô¸Ã¶Î´úÂëûÓÐÈκÎÓ°Ïì¡£
Ö»ÒªÄãµÄµçÄÔÆÁÄ»¿í¶ÈÊÇ´óÓÚ900pxµÄ£¨ÄãÓ¦¸Ã²»»áʹÓ÷ֱæÂÊÌ«µÍµÄPCÆÁÄ»°É£¿£©£¬ÉÏÃæÕâ¶Î´úÂë¾Í²»»áÉúЧ¡£
¢Ê ±êÇ©»¯µÄCMQ
CMQ²»½ö½ö¿ÉÒÔдÔÚÑùʽÎļþÖУ¬Ò²¿ÉÒÔ±êÇ©»¯£¬Ö±½ÓдÔÚÒ³Ãæ<head>±êÇ©ÄÚ£¬Æäд·¨ÈçÏ£º
<link rel="stylesheet" media="only screen and (max-width: 800px)" href="small_screen.css" /> |
¸Ã´úÂë±íʾÔÚÊÓͼ¿í¶ÈСÓÚ800pxʱÔòÒýÈësmall_screen.cssÕâ¸öÍⲿÑùʽÎļþ¡£
ÁíÍâÄ㻹¿ÉÒÔÀûÓÃorientationÀ´ÅжÏÉ豸µÄ·½Ïò£¨´¹Ö±Ä£Ê½portrait/ºáÏòģʽlandscape£©£º
<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css"> <link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">¡¡ |
µ«³£¹æÎÒÃDz¢²»ÍƼöʹÓÃorientation£¬ÒòΪËüÎÞ·¨¸æÖªÄã¹ØÓÚÉ豸·Ö±æÂʵÄÈκÎÐÅÏ¢£¬ËùÒÔ×÷Ϊһ¸öͨÓõĹæÔò£¬Ó¦¸Ã±ÜÃâorientation¶øʹÓÃdevice-width´úÌæ¡£
£¨ËÄ£©Àý×Ó
ÎÒÃÇÀ´×öÒ»¸öСÀý×Ó£¬ÈÃËüÄÜ°´ÏÂͼҪÇó£¬ÔÚÈý¸ö·Ö±æÂÊÇø¼ä×ö²»Í¬µÄÊÊÅä²¼¾Ö£º

ÏÈдÔÐÍ¿ò¼Ü£º
<!doctype html> <html> <head> <style> html, body { magin: 0;padding: 0;height:100%; font-size:1.2em;} .wrap{ margin:2% auto 0 auto; width:95%;} header { width:100%; height:5%;background-color:#FF9673;} nav{ float:left;width:20%; min-height:600px;background-color:#FF9673;} article{ background-color:#FFD24D;} aside{ background-color:#73B9FF;} </style> <meta charset="utf-8"> <title>Demo</title> <meta name="viewport" content="width=device-width, initial-scale=1.0,
maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" /> </head>
<body>
<header>top-banner</header>
<div class="wrap">
<nav></nav>
<article>
<p>the main area</p>
</article>
<aside>sth</aside>
</div>
</body>
</html> |
½Ó×ÅÀûÓÃCMQ£¬ÒÀÕÕÈýÖÖ·Ö±ðÂÊÇø¼äÀ´¶¨ÒåÑùʽ£º
<!doctype html> <html> <head> <style> html, body { magin: 0;padding: 0;height:100%; font-size:1.2em;} .wrap{ margin:2% auto 0 auto; width:95%;} header { width:100%; height:5%;background-color:#FF9673;} nav{ float:left;width:20%; min-height:600px;background-color:#FF9673;} article{ background-color:#FFD24D;} aside{ background-color:#73B9FF;} @media only screen and (min-width:1000px){ nav{display:none;} article{ float:left; margin-right:2%; width:70%; min-height:600px;} aside{ float:left; width:28%; min-height:600px;} } @media only screen and (min-width:601px) and (max-width:999px){ header{display:none;} article{ float:left; margin-left:2%; width:78%; min-height:600px;} aside{ display:none;} } @media only screen and (max-width:600px){ nav{display:none;} article{ width:100%; min-height:600px;} aside{ display:none;} } </style> <meta charset="utf-8"> <title>Demo</title> <meta name="viewport" content="width=device-width, initial-scale=1.0,
maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" /> </head>
<body>
<header>top-banner</header>
<div class="wrap">
<nav></nav>
<article>
<p>the main area</p>
</article>
<aside>sth</aside>
</div>
</body>
</html> |
ÕâÀïÐèÒªÌáÐѵÄÒ»µãÊÇ£¬ÎÒÃǶÔÓÚÎı¾×ÖÌå´óСµÄ¶¨Ò彨ÒéʹÓà em À´¸³Öµ£¬±Ï¾¹²»Í¬Öն˲»Í¬ä¯ÀÀÆ÷»áÒÀ¾Ý·Ö±æÂÊ´óСÀ´É趨Îı¾µÄȱʡ´óС£¬´Ó¶ø·½±ãÓû§ÔĶÁ£¬ÀûÓÃ
em À´°´±ÈÀýµ÷Õû×ÖÌå´óСÄÜÓºÏÖÕ¶Ëä¯ÀÀÆ÷µÄÕâ¸öÈËÐÔ»¯Ìص㡣
|