 |
|
|  |
¾ÆÀÌÆù À¥¾îÇø®ÄÉÀÌ¼Ç °³¹ß½Ã ²À ¾Ë¾Æ¾ßÇÒ°Í |
|
|
 |
14³â Àü |
1. ¾ÆÀÌÆù¿ë css Àû¿ëÇϱâ
<!--[if !IE]>-->
<link
rel="stylesheet"
href="small-screen.css"
type="text/css"
media="only screen and (max-device-width: 480px)"
/>
<!--<![endif]-->
@media only screen and (max-device-width: 480px) {
/* iPhone only CSS here */
#test-block {
background: red;
}
}
¾ÆÀÌÆùÀº max-device-width°¡ 480px·Î Á¤ÀǵǾî ÀÖ½À´Ï´Ù.
À§ µÎ°³ÀÇ ÄÚµå´Â ÀÌ·¯ÇÑ °ªÀ» ÀÌ¿ëÇÏ¿© ¾ÆÀÌÆù¿ë css¸¦ Ãß°¡ÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù.
¹ü¿ëÀûÀÎ ½ºÅ¸ÀϽÃÆ®·Î ¸ð¹ÙÀÏ À¥¾îÇø®ÄÉÀ̼ÇÀ» °³¹ßÈÄ
¾ÆÀÌÆù¿¡¼´Â ´õ ³ªÀº UI¸¦ ¸¸µé±â À§ÇØ À§¿Í °°ÀÌ ¾ÆÀÌÆù¿ë CSS¸¦ Ãß°¡ÇÔÀ¸·Î½á
¾ÆÀÌÆùÀÇ »çÆĸ®ºê¶ó¿ìÀú·Î Á¢¼ÓÇÏ´Â »ç¿ëÀڵ鿡°Ô ´Ù¸¥ UI¸¦ Á¦°øÇØÁÙ¼ö ÀÖ½À´Ï´Ù.
2. ¾ÆÀÌÆù¿ë ¼¹öÃø ÄÚµå ½ÇÇàÇϱâ
<?php
$browser = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
if ($browser !== false){
$browser = 'iphone';
}
?>
<?php if($browser == 'iphone'){ ?>
<title>Short iPhone only title</title>
<?php }else{ ?>
<title>Regular title</title>
<?php } ?>
phpÀÇ °æ¿ì user-agent °ªÀ» ÀÌ¿ëÇؼ ¼¹öÃø¿¡¼ ¾ÆÀÌÆùÀ» À§ÇÑ Äڵ带 º°µµ·Î ½ÇÇàÀÌ °¡´ÉÇÕ´Ï´Ù.
3. viewport meta ű×
¾ÆÀÌÆùÀº metaű×ÀÇ viewport¸¦ ÀÌ¿ëÇؼ ´õ ³ªÀº UX¸¦ Á¦°øÇØÁÙ¼ö ÀÖ½À´Ï´Ù.
¿¹¸¦ µé¸é ±â±âÀÇ
ÃÖ´ë °¡·ÎÅ©±â¸¦ Á¤ÇѴٰųª, ÁÜ·¹º§À» Á¤ÇѴٰųª, »ç¿ëÀÚ È®´ëÃà¼Ò ¹æÁö ¿©ºÎ µîÀ» ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
<meta name="viewport" content="width=device-width" />
<meta name="viewport" content="width=780" />
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"
/>
maximum-scale=1.0
width=device-width
ÀÌ °ªÀº ÆäÀÌÁö¸¦ ±â±âÀÇ width¿¡ ¸Âµµ·Ï Ãâ·ÂÇÕ´Ï´Ù. ¾ÆÀÌÆùÀº 320*480ÀÇ ¼¼·Îº¸±â ¸ðµå¿Í 480*320ÀÇ °¡·Îº¸±â ¸ðµå¸¦ °¡Áö°í ÀÖ½À´Ï´Ù.
width=780 °ú °°ÀÌ Æ¯Á¤ °ªÀ» Á¤ÀÇÇÒ ¼öµµ ÀÖÁö¸¸, °¡·Î, ¼¼·Îº¸±â ¸ðµå¿¡ ÃÖÀûÈ ½ÃÅ°±â À§Çؼ width=device-width·Î ¼³Á¤ÇÏ´Â
°æ¿ì ±â±âÀÇ width°ª¿¡ ¸ÂÃç¼ ÆäÀÌÁö¸¦ º¸¿©ÁÝ´Ï´Ù.
initial-scale=1.0
ÀÌ°ÍÀº ÆäÀÌÁö°¡ ·ÎµùµÉ¶§ È®´ëºñÀ²À» Á¤ÇÒ¼ö ÀÖ½À´Ï´Ù. °ªÀÌ Ä¿Áú ¼ö·Ï È®´ë ºñÀ²µÈ ¸ð½ÀÀ¸·Î ÆäÀÌÁö°¡ ³ªÅ¸³³´Ï´Ù.
maximum-scale=1.0
Çã¿ë°¡´ÉÇÑ È®´ëºñÀ²ÀÇ ÃÖ´ëÄ¡¸¦ ¼³Á¤ÇÕ´Ï´Ù.
user-scalable=0
»ç¿ëÀÚÀÇ È®´ëº¸±â¸¦ Çã¿ëÇÒÁö ¿©ºÎ¸¦ ¼³Á¤ÇÕ´Ï´Ù. °ªÀº 0(Çã¿ëÇÏÁö ¾ÊÀ½), 1(È®´ëº¸±â Çã¿ëÇÔ) ÀÔ´Ï´Ù.
¡¡
¡¡
<meta name="viewport" content="width=device-width" /> ¸¦ ¼³Á¤ÇßÀ»¶§
¡¡
¡¡
<meta name="viewport" content="width=device-width" />¸¦ ¼³Á¤ ¾ÈÇßÀ»¶§
¡¡
À§ÀÇ µÎ°³ÀÇ ¿¹½Ãȸéó·³
viewport¸¦ width=device-width ·Î ¼³Á¤ÇÑ °æ¿ì¿¡´Â
ÆäÀÌÁöÀÇ °¡·Î±æÀ̸¦ ±â±â¿¡ ¸ÂÃç¼ ÆäÀÌÁö¸¦ º¸¿©ÁÖÁö¸¸
¼³Á¤ÀÌ µÇ¾îÀÖÁö ¾ÊÀº °æ¿ì
»çÆĸ®ºê¶ó¿ìÀú´Â ¸¶Ä¡ ÀÚ½ÅÀÌ µ¥½ºÅ©Å¾ºê¶ó¿ìÀúÀξç
ÆäÀÌÁö¸¦ ³Ð°Ô ÀνÄÇÏ¿© º¸¿©ÁÝ´Ï´Ù.
4. Åø¹Ù ¼û±â±â
window.addEventListener('load', function(){
setTimeout(scrollTo, 0, 0, 1);
}, false);
¡¡
À§ ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¸é »çÆĸ®ºê¶ó¿ìÀúÀÇ
ÁÖ¼ÒÀÔ·Ââ°ú °Ë»öâÀÌ ÀÖ´Â Åø¹Ù¸¦ º¸ÀÌÁö ¾Ê´Â »óÅ·Πº¯È¯ÇÕ´Ï´Ù.
Åø¹Ù°¡ »ç¶óÁö´Â °ÍÀÌ ¾Æ´Ï¶ó
½ºÅ©¸³Æ®¸¦ ÅëÇÏ¿© ½ºÅ©·ÑÀ» ¾Æ·¡·Î ³»·Á
Åø¹Ù ¹Ù·Î ¾Æ·¡¿¡¼ºÎÅÍ À¥ÆäÀÌÁö°¡ º¸¿©Áú¼ö ÀÖµµ·Ï Çϴ°ÍÀÔ´Ï´Ù.
ÀÌ ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ´Â °æ¿ì »ç¿ëÀÚ¿¡°Ô ÃÖÃÊ·Î ÆäÀÌÁö¸¦ º¸¿©ÁÙ¶§
Åø¹Ù°¡ Â÷ÁöÇß´ø ºÎºÐ±îÁö ȸé°ø°£À» È®º¸ÇÏ¿© º¸¿©ÁÙ ¼ö ÀÖ½À´Ï´Ù.
±×¸®°í º¸±â¿¡µµ È®¿¬È÷ ³Ð¾îº¸ÀÌ´Â °ÍÀ» ´À³¥¼ö ÀÖ½À´Ï´Ù.
¡¡
°£È¤ ÆäÀÌÁö ÄÜÅÙÃ÷ ±æÀÌ°¡ ³Ê¹« ª¾Æ¼ ½ºÅ©·ÑÇÒ ³»¿ëÀÌ ¾øÀ»¶§
ÀÌ ½ºÅ©¸³Æ®´Â ¿ì¸®°¡ ¿øÇÏ´Â ±â´ÉÀ» ¼öÇàÇÏÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù.
±×¸®°í ÆäÀÌÁö ÄÜÅÙÃ÷ ±æÀÌ°¡ ½ºÅ©·ÑÀ» ³»¸®±â¿¡ ¾îÁ¤ÂÄÇÑ ±æÀ̶ó¸é
Åø¹Ù°¡ º¸¿©ÁöÁöµµ »ç¶óÁöÁöµµ ¾ÊÀº ¹ÝÂë °¡·ÁÁø »óÅ·Πº¸ÀÌ°Ô µÇ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù.
À§ÀÇ Ä¸ÃÄ »çÁøÀÌ ±× ¿¹ÀÔ´Ï´Ù.
ÄÜÅÙÃ÷ ±æÀÌ°¡ ¾îÁ¤ÂÄÇØ Åø¹Ù°¡ °¡·ÁÁú ¸¸Å ½ºÅ©·Ñ¹Ù°¡ ³»·Á°¡Áö ¾Ê¾Æ
Åø¹Ù°¡ Àý¹Ý¸¸ °¡·ÁÁø ¸ð½ÀÀÔ´Ï´Ù.
ÀÌ·±¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ´Â ³ôÀÌ°ªÀ» ÃÖ´ë»çÀÌÁî·Î ÁöÁ¤ÇÏ¿©
ÆäÀÌÁö°¡ ½ºÅ©·ÑµÉ ¼ö ÀÖ°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù.
<meta name="viewport" content="height=device-height,width=device-width" />
viewport¸¦ ÀÌ¿ëÇØ height=device-height ¸¦ ¼³Á¤Çϸé
height°¡ ±â±âÀÇ height°ªÀÌ µÇµµ·Ï ¼³Á¤µÇ±â ¶§¹®¿¡ ÄÜÅÙÃ÷ ±æÀÌ°¡ ª´õ¶óµµ
ÆäÀÌÁö ÃÖÃÊ ·Îµù ÈÄ Åø¹Ù°¡ º¸ÀÌÁö ¾Ê°Ô µË´Ï´Ù.
5. ±â¿ï±âº¯È °¨ÁöÇϱâ
window.onorientationchange = function() {
alert(window.orientation);
}
0 : ÀϹÝÀûÀÎ ¼¼·Î ȸé(Ȩ ¹öÆ°ÀÌ ¾Æ·¡¿¡ ÀÖÀ½)
-90 : ½Ã°è ¹æÇâÀ¸·Î ȸÀüµÈ °¡·Î ȸé(Ȩ ¹öÆ°ÀÌ ÁÂÃø¿¡ ÀÖÀ½)
90 : ½Ã°è ¹Ý´ë ¹æÇâÀ¸·Î ȸÀüµÈ °¡·Î ȸé(Ȩ ¹öÆ°ÀÌ ¿ìÃø¿¡ ÀÖÀ½)
180 : 180µµ µÚÁýÈù ȸé(Ȩ ¹öÆ°ÀÌ À§¿¡ ÀÖÀ½)
°¡·Îº¸±â ¸ðµå¿Í ¼¼·Îº¸±â ¸ðµå¿¡¼ ´Ù¸¥ UI¸¦ Á¦°øÇÏ·Á´Â °æ¿ì
ÀÌ À̺¥Æ®¸¦ µ¿Çؼ ƯÁ¤ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.
º¸±â ¸ðµå¿¡ µû¶ó ´Ù¸¥ UI¸¦ Á¦°øÇѴٰųª Çϴ Ưº°ÇÑ ÀÌÀ¯°¡ ¾ø´Ù¸é
viewport¿¡¼ <meta name="viewport" content="width=device-width" />¸¦ ¼³Á¤ÇÔÀ¸·Î½á
width°¡ º¸±â ¸ðµå¿¡ µû¶ó ÀÚµ¿ Á¶ÀýµÇ±â ¶§¹®¿¡ °ÆÁ¤ÇÒ °ÍÀÌ ¾ø½À´Ï´Ù.
6. ¶ó¿îµå¹Ú½º, ¶ó¿îµå¹öÆ°
.box {
-webkit-border-radius: 5px; /* safari */
-moz-border-radius: 5px; /* firefox */
background: #ddd;
border: 1px solid #aaa;
}
¡¡
»çÆĸ® ºê¶ó¿ìÀú¿¡¼´Â »çÆĸ®ºê¶ó¿ìÀúÀÇ css ¼Ó¼ºÀ» ÀÌ¿ëÇÏ¿©
½±°Ô ¶ó¿îµå¹Ú½º, ¶ó¿îµå ¹öÆ°À» ±¸ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.
7. ÅÍÄ¡ À̺¥Æ®
touchstart
touchend
touchmove
touchcancel (½Ã½ºÅÛÀÌ ÅÍÄ¡ÇÑ °ÍÀ» Ãë¼ÒÇÏ´Â °æ¿ì)
À§ÀÇ °ÍµéÀº ÅÍÄ¡°ü·Ã À̺¥Æ® ÀÔ´Ï´Ù.
À̺¥Æ® ¹ß»ý½Ã event°´Ã¼¸¦ Àü´Þ ¹Þ´Âµ¥ ´ÙÀ½°ú °°Àº ÇÁ·ÎÆÛƼ°¡ Á¸ÀçÇÕ´Ï´Ù.
touches : º¹¼ö·Î ȸ鿡 ÅÍÄ¡µÇ´Â °¢ ¼Õ°¡¶ôµé¿¡ ´ëÇÑ ÅÍÄ¡ À̺¥Æ® ¸ðÀ½µé. ÀÌ °´Ã¼µéÀº ÆäÀÌÁö¿¡ ÅÍÄ¡µÇ´Â ÁÂÇ¥µéÀÇ °ªÀ» °¡Áö°í ÀÖ½À´Ï´Ù.
targetTouches : ÅÍÄ¡ÇÒ ¶§ ¹ß»ýÇÕ´Ï´Ù. ±×·¯³ª Àüü ÆäÀÌÁö°¡ ¾Æ´Ñ Ÿ±ê ¿ä¼Ò¿¡¸¸ ¹ÝÀÀÇÕ´Ï´Ù.
8. Á¦½ºÃÄ
gesturestart
gestureend
gesturechange
Á¦½ºÃ³ °ü·Ã À̺¥Æ® ÀÔ´Ï´Ù.
event °´Ã¼¸¦ Àü´Þ¹ÞÀ¸¸ç ´ÙÀ½°ú °°Àº ÇÁ·ÎÆÛƼ°¡ Á¸ÀçÇÕ´Ï´Ù.
event.scale : È®´ëºñÀ² °ªÀÔ´Ï´Ù. °ª 1Àº È®´ëÃà¼Ò°¡ µÇÁö ¾ÊÀº ±âº» »óÅ ÀÔ´Ï´Ù. °ªÀÌ 1º¸´Ù ÀÛÀ» ¶§´Â ÁÜ-¾Æ¿ôÀ̸ç ÁÜ-ÀÎÀ϶§´Â
1º¸´Ù °ªÀÌ Å®´Ï´Ù.
event.rotate - ȸÀü °¢µµÀÔ´Ï´Ù.
9. Ư¼ö¸µÅ©
<a href="tel:12345678900">Call me</a>
<a href="sms:12345678900">Send me a text</a>
¾ÆÀÌÆùÀº ÅëÈ ¶Ç´Â SMS º¸³»±â¸¦ ½ÇÇàÇÒ¼ö Àִ Ư¼ö ¸µÅ©°¡ ÀÖ½À´Ï´Ù.
'tel:¹øÈ£'·Î ÀÌ·ç¾îÁø ¸µÅ©´Â ÀüÈ¿¬°áÀÌ µÇ¸ç
'sms:¹øÈ£'·Î ÀÌ·ç¾îÁø ¸µÅ©´Â sms°¡ ¿¬°áµË´Ï´Ù.
¡¡
ÀÌ¿Ü¿¡µµ
¾ÆÀÌƪÁî ½ºÅä¾î ¸µÅ©´Â ¾ÆÀÌƪÁî¿Í ¿¬°áµË´Ï´Ù.
±¸±Û¸Ê ¸µÅ©´Â Áöµµ ¾ÖÇø®ÄÉÀ̼ǰú ¿¬°áµË´Ï´Ù.
À¯Æ©ºê ¸µÅ©´Â À¯Æ©ºê ¾ÖÇø®ÄÉÀ̼ǰú ¿¬°áµË´Ï´Ù.
À̸ÞÀÏ ÁÖ¼Ò ¸µÅ©´Â ¸ÞÀÏ ¾ÖÇø®ÄÉÀ̼ǿ¡ ¿¬°áµË´Ï´Ù.
10. Ȩ¾ÆÀÌÄÜ
¡¡
»çÆĸ® ºê¶ó¿ìÀú¸¦ ÀÌ¿ëÇÏ¿© À¥¼ÇÎÀ» ÇÏ¸é¼ ÇÏ´Ü¿¡ + ÅÇÀ» Ŭ¸¯Çϸé
ÇöÀç ÆäÀÌÁö¸¦ Ã¥°¥ÇÇ(ºÏ¸¶Å©, Áñ°Üã±â) Ãß°¡Çϰųª
Ȩȸ鿡 Ãß°¡ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
¡¡
¿©±â¼ ¸»Çϴ Ȩȸ鿡 Ãß°¡¶õ
¾ÆÀÌÆùÀÇ ¹ÙÅÁȸ鿡 ¾ÆÀÌÄÜÀÌ »ý¼ºµÇ¾î À¥ÆäÀÌÁö·Î ºü¸£°Ô ¿¬°áÇÒ ¼ö ÀÖ´Â °ÍÀ» ¸»ÇÕ´Ï´Ù.
<link rel="apple-touch-icon" href="http://www.example.com/iphone_home_icon.png"
/>
ÀÌ Äڵ带 ³ÖÀ¸¸é ¿©±â¿¡ ¼³Á¤µÈ À̹ÌÁö ÆÄÀÏÀÌ È¨¾ÆÀÌÄÜÀ¸·Î ¼³Á¤µË´Ï´Ù.
Ȩ¾ÆÀÌÄÜÀº 57*57ÀÇ pngÆÄÀÏ·Î ¸¸µå´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
¾ÆÀÌÆù¿¡¼ ÀÚµ¿ÀûÀ¸·Î º¼·Ï Æ¢¾î³ª¿Íº¸ÀÌ´Â µíÇÑ È¿°ú¿Í ¾ÆÀÌÄÜÀÇ ¶ó¿îµù󸮸¦ Çϱ⶧¹®¿¡
Ȩ¾ÆÀÌÄÜÀº Á¤»ç°¢ÇüÀÇ ¸ð¾çÀ¸·Î ¸¸µå¼Åµµ µË´Ï´Ù.
Ȩ¾ÆÀÌÄÜÀÌ ¼³Á¤µÇ¾îÀÖÁö ¾ÊÀ» °æ¿ì
ÇØ´ç À¥ÆäÀÌÁöÀÇ ½æ³×ÀÏȸéÀÌ È¨¾ÆÀÌÄÜÀ¸·Î ¼³Á¤µË´Ï´Ù.
11. µð¹ö±ë
console.log('Something');
console.error('Oops');
console.warning('Beware!');
¡¡
À§ÀÇ Äڵ带 ½ÇÇàÇÏ¿´À» °æ¿ì ¾ÆÀÌÆù »çÆĸ® ºê¶ó¿ìÀúÀÇ Äֵܼð¹ö±× µµ±¸´Â ´ÙÀ½°ú °°Àº ¸Þ½ÃÁö¸¦ Ç¥½ÃÇÕ´Ï´Ù.
µð¹ö±ë¿ëÀ¸·Î »ç¿ëµÇ´Â ÇÔ¼öµéÀÔ´Ï´Ù.
½º¸¶Æ®Æù ½ÃÀåÀÌ ¹ß´ÞÇÏ°í ¹«¼±ÀÎÅͳÝÀÌ º¸Æíȵǰí, ³×Æ®¿öÅ©ÀÌ¿ë¿ä±ÝÀÌ Á¡Á¡ ³·¾ÆÁö°í ÀÖ½À´Ï´Ù.
½º¸¶Æ®Æù ½ÃÀå¿¡¼´Â Àú¸¶´ÙÀÇ µ¶ÀÚÀûÀÎ Ç÷§ÆûµéÀÌ ¼Ó¼Ó ÀÚ½ÅÀÇ ¿µ¿ªÀ» ³ÐÈ÷·Á ÇÏ°í ÀÖ½À´Ï´Ù.
ƯÁ¤±â±â¿¡ ÃÖÀûÈµÈ ¾îÇø®ÄÉÀ̼ÇÀº ¸¸µå´Â °ÍÀº
»ç¿ëÀÚ°æÇèÀ» ±Ø´ëÈÇÑ´Ù´Â Á¡¿¡¼ ÁÁÀ¸³ª
¾Èµå·ÎÀ̵å¿ë, ¾ÆÀÌÆù¿ë, À©µµ¸ð¹ÙÀÏ¿ë µî Ç÷§Æûº°·Î ¾îÇø®ÄÉÀ̼ÇÀ» °³¹ßÇؾßÇÏ´Â ºñ¿ëÀÌ µÚµû¸¨´Ï´Ù.
¹Ý¸é ¾î¶°ÇÑ Ç÷§ÆûÀ̵ç À¥ºê¶ó¿ìÀú°¡ Àֱ⶧¹®¿¡
À¥¾îÇø®ÄÉÀ̼ÇÀº ¸¹Àº ºñ¿ëÀ» Àý°¨Çϸé¼
½º¸¶Æ®Æù »ç¿ëÀÚµéÀÇ ±â´ë¸¦ ÃæÁ·½ÃÄÑÁÙ¼ö ÀÖ½À´Ï´Ù.
¾ÆÀÌÆù¿ë À¥¾îÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÏ·Á°í ÇϽŴٸé À§ÀÇ »çÇ×À» ²À ¾Ë¾ÆµÎ½Ã¸é
°³¹ß¿¡ ¸¹Àº µµ¿òÀÌ µÇ½Ç°Ì´Ï´Ù.
|
|
̵̧ : 443 |
̵̧
¸ñ·Ï
|
|
|  |
|