Layout with Positioning | Page Layout Series Part IVPositioningÀ» ÀÌ¿ëÇÑ Page layoutPage layout À» Çϴµ¥ ÇʼöÀûÀÎ ¿ä¼Ò Áß¿¡ Çϳª°¡ positioning ÀÔ´Ï´Ù. Positioning À̶ó´Â °ÍÀº ´Ü¾îÀÇ ¶æ ±×´ë·Î ºê¶ó¿ìÀú â¿¡¼ÀÇ À§Ä¡¸¦ Àâ´Â CSS property ·Î¼ ¾Æ·¡¿Í °°Àº °Í µéÀÌ ÀÖ½À´Ï´Ù. ÀÌ Áß¿¡¼ float property °°Àº °æ¿ì¿¡´Â ÀϹÝÀûÀ¸·Î À¯ÇàÇÏ´Â Page layout ¿¡ ¸¹ÀÌ »ç¿ëµÇ´Â property·Î¼ block boxÀÇ È帧À» left³ª right·Î ¿òÁ÷¿©¼ block boxµéÀ» ¼öÆò ¹æÇâÀ¸·Î ¹è¿½ÃÄÑ ÁÖ´Â »ç¿ë ºóµµ°¡ ³ôÀº property ÀÔ´Ï´Ù. ±×·±µ¥ IEÀÇ °æ¿ì ÀÌ float À̶ó´Â property°¡ Á¦´ë·Î 󸮰¡ µÇÁö ¾Ê¾Æ¼ »ý±â´Â Àß ¾Ë·ÁÁø ¸¹Àº bug µéÀÌ reporting µÇ°í ÀÖ½À´Ï´Ù. ÇÑ ¸¶µð·Î ÀÌ floatÀº IE ¿¡¼´Â 'Untouchable thing' À̶ó°í Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹Ù·Î ÀÌ float ¹®Á¦ ¶§¹®¿¡ ÀÌ series¸¦ ¿¬ÀçÇϱâ Àü¿¡ ´Ù¸¥ »çÀÌÆ®¿¡ ½Ç¸° IEÀÇ ¹ö±× µî¿¡ °üÇÑ ±ÛµéÀ» ÀÐ¾î º¸¾Ò´Âµ¥, ¼ÒÀ§ cross-browsing À̶ó°í ÇÏ´Â '¼·Î ´Ù¸¥ ºê¶ó¿ìÀú¿¡¼ ¶È °°ÀÌ º¸À̰ųª ÃÖ¼ÒÇÑ ºñ½ÁÇÏ°Ô º¸ÀÌ´Â ¹æ¹ý', ¿¡ ´ëÇÑ ±ÛµéÀÌ ¸¹ÀÌ ÀÖ´õ±º¿ä. ±×¸®°í ´ëüÀûÀ¸·Î ÀÌ·± ±Û µéÀÌ Á¦½ÃÇÏ´Â °ÍÀº FF °°ÀÌ Ç¥ÁØ¿¡ ÃÖ´ëÇÑ Á¢±ÙÇÑ ºê¶ó¿ìÀú ÀÔÀå¿¡¼ IE ¿¡¼µµ º¸ÀÏ ¼ö ÀÖ°Ô ¸ÂÃçÁÖ´Â coding ¹æ¹ý µé À̾ú°í, ´ë ºÎºÐ °ø°¨ÇÒ ¼ö ¹Û¿¡ ¾ø´Â ³»¿ë µéÀ̾ú½À´Ï´Ù. µûÁö°í º¸¸é IE°¡ Ç¥ÁØ¿¡ ¸ÂÃç¼ ºê¶ó¿ìÀú¸¦ ¸¸µé¾ú´Ù¸é ÀÌ·± ÀÛ¾÷µéÀÌ ¾Ö´çÃÊ ºÒÇÊ¿äÇÑ °Í À̾ú°ÚÁÒ. ±×·±µ¥ ±× ±Ûµé Áß¿¡¼µµ °¡Àå ¸¹ÀÌ ´ëµÎµÇ´Â ¹®Á¦°¡ ¹Ù·Î float¿¡ °üÇÑ ¹®Á¦ ÀÔ´Ï´Ù. IEÀÇ °æ¿ì MSDN Library ¸¦ °¡ º¸¸é ¿ÞÂÊ ¸Þ´º¿¡¼ Web Development > HTML and CSS > Cascadign Styel Sheets > Reference > Attributes > Layout category ¿¡ ÀÌ float À̶ó´Â CSS property´Â ¾ø½À´Ï´Ù. ´ë½Å style-float À̶ó´Â °ÍÀÌ ±× ÀÚ¸®¸¦ ´ë½ÅÇϰí Àִµ¥, ±× ¹®¼ Á¦¸ñÀÌ 'float Attribute | styleFloat Property' ¶ó°í µÇ¾î ÀÖ½À´Ï´Ù. Áï, CSS·Î ÁöÁ¤ÇÒ ¶§´Â floatÀ¸·Î »ç¿ëÇϰí, scripting ÇÒ ¶§´Â styleFloatÀ¸·Î »ç¿ëÇ϶ó´Â °ÍÀÌÁÒ. ÀÌ »çÀÌÆ®ÀÇ CSS > Layout > float ¿¡¼µµ Á¦°¡ ÀÌ¹Ì ±×·¸°Ô ¼³¸íÇß¾ú±¸¿ä. MS¿¡¼ ¿Ö ±×·¸°Ô ÇØ¾ß¸¸ Çß´ÂÁö ±Ã±ÝÇÒ µû¸§ÀÔ´Ï´Ù. width³ª height ÀÇ °æ¿ì Doctype switchÀÇ on, off ÁöÁ¤¿¡ µû¸¥ µÎ °¡Áö rendering ¹æ½ÄÀ¸·Î ó¸®ÇÏ¿© switch on »óÅ¿¡¼´Â ¼±ÅÃÀûÀ¸·Î ³ª¸¶ Ç¥ÁØ ¹æ½ÄÀ» µû¸£´Â °ÍÀº ¹¹ ±×·¸´Ù Ä¡´õ¶óµµ, float °°Àº °æ¿ì´Â switch on, off ¿¡ °ü°è¾øÀÌ Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù... ¿Ö ±×·²±î¿ä? ¾Æ! ±Ã±ÝÇÏ¿©¶ó... ÇÏ¿©°£ Á¦°¡ º» ¹®¼µé¿¡¼´Â À̸¦ ÇØ°áÇϱâ À§ÇÑ ¿©·¯ °¡Áö ¹æ¹ý(IE/WIN Hacks ¶ó°í ºÎ¸£´õ±º¿ä.)µéÀÌ Á¦½ÃµÇ°í ÀÖ½À´Ï´Ù. ±×·¡¼ ¿ì¼± IE ¿¡¼ float¸¦ »ç¿ëÇÒ °æ¿ì »ý±â´Â Àß ¾Ë·ÁÁø ¹ö±×¿¡ ´ëÇØ ¾Ë¾Æ º¸°Ú½À´Ï´Ù. float µÈ ù ¹øÂ° boxÀÇ margin-left°¡ 2¹è°¡ µÇ´Â bugÀ̹ø¿¡ ÀÌ series¸¦ ¿¬ÀçÇÏ¸é¼ IEÀÇ CSS bug¿¡ °ü½ÉÀ» °®°Ô µÇ¸ç ¾Ë°Ô µÈ °ÅÁö¸¸ ÀÌ bug´Â ¾ÆÁÖ À¯¸íÇÑ bug¶ø´Ï´Ù. 'float µÈ ù ¹øÂ° boxÀÇ margin-left°¡ 2¹è°¡ µÇ´Â bug' ¶ó´Â°Ô ¹¹³ÄÇÏ¸é ¾Æ·¡¿Í °°ÀÌ »óÀ§ box(body tag) ¼Ó¿¡ 4 °³ÀÇ div box¸¦ float:left¸¦ »ç¿ëÇÏ¿© ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊÀ¸·Î ¹èÄ¡Çϰí ÇÏÀ§ div box µé¿¡ margin:50px ¸¦ ÁÖ¾úÀ» °æ¿ì »óÀ§ boxÀÇ ÁÂÃø¸é°ú ù ¹øÂ° ÇÏÀ§ div box »çÀÌ¿¡ »ý±â´Â margin Å©±â°¡ ÁöÁ¤ÇÑ 50px °¡ ¾Æ´Ï¶ó 2 ¹èÀÎ 100px ·Î 󸮵Ǵ °ÍÀ» ¸» ÇÕ´Ï´Ù. ¿ì¼± ¾Æ·¡ÀÇ code¸¦ ½ÇÇàÇØ º¸°í °è¼Ó ¼³¸íÇϰڽÀ´Ï´Ù. ÀÔ·Â
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>float µÈ ù ¹øÂ° boxÀÇ margin-left°¡ 2¹è°¡ µÇ´Â bug</title>
<style type="text/css">
<!--
body{
margin:0;
background-image:url('images/grid_50.gif');
}
.float_box{
float:left;
width:100px;
height:100px;
background-color:lime;
margin:50px; /* box 4 ¸éÀÇ marginÀ» 50px·Î ÁöÁ¤ */
/* ¹ö±× Àâ±â */
}
-->
</style>
</head>
<body>
<div class="wrap">
<div class="float_box"></div>
<div class="float_box"></div>
<div class="float_box"></div>
<div class="float_box"></div>
</div>
</body>
</html>
Ãâó : http://www.positioniseverything.net/explorer/doubled-margin.html À§ÀÇ ½ÇÇà °á°ú¿¡¼ º¸ÀÌ´Â grid('grid_50.gif')´Â margin:50px ÀÇ Å©±â¸¦ ³ª¸§´ë·Î Á¤È®ÇÏ°Ô º¸±â À§Çؼ background-image·Î ³Ö¾ú°í, °á°ú¸¦ º¸¸é IE ¿¡¼´Â float µÈ ù ¹øÂ° boxÀÇ marginÀ» 2¹è·Î ó¸®ÇÑ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ¿ø·¡ÀÇ °á°ú´Â '¹ö±× Àâ±â'¿¡¼ display:inline À¸·Î º¸Á¤ÇÑ °á°ú¿Í °°ÀÌ ³ª¿Í¾ß µÇ´Â °ÅÁÒ(FF µî¿¡¼´Â Á¦´ë·Î ³ª¿É´Ï´Ù). Áï ù ¹øÂ° floated boxÀÇ margin-left°¡ 50px ÀÌ°í ´ÙÀ½ box ºÎÅÍ´Â 50px + 50px = 100px ·Î marginÀÌ ÀâÇô¾ß µÈ´Ù´Â ¸»ÀÔ´Ï´Ù. ±×·±µ¥ box¿¡ ÁöÁ¤µÈ marginÀÌ 50px + 50px ¿Í °°ÀÌ µ¡¼ÀÀÌ µÇ¾î 100px °¡ µÈ´Ù... ÀÌ Page layout series Part I ºÎÅÍ ÀÚ¼¼È÷ º¸½Å ºÐ À̶ó¸é ¾ð¶æ ½ºÄ¡´Â ÀǽÉÀÌ »ý±â¸®¶ó º¾´Ï´Ù. ¹º°¡ Çϸé PLS Part IIÀÇ margin ¿¹Á¦¿¡¼ Á¦°¡ ºÐ¸íÈ÷ 25px + 25px ÀÇ marginÀÌ ¸¸³ª¸é 50px °¡ ¾Æ´Ñ 25pxÀÇ marginÀÌ »ý±â°í °¢°¢ 50px + 25px ÀÇ marginÀÌ ¸¸³ª¸é Å« °ªÀÎ 50px ÀÇ marginÀÌ »ý±ä´Ù°í ¼³¸íÇÑ ³»¿ë°ú ¸ÂÁö ¾Ê°Ô µÇ´Ï±î¿ä. ±×·¸Áö ¾Ê½À´Ï±î. ÀÌ¿Í °°ÀÌ marginÀÌ ¸¸³ª¼ Æ÷°³¾î Áö´Â °ÍÀ» collapsing-margins À̶ó°í ºÎ¸£´Âµ¥ À§ÀÇ ¿¹Á¦¿¡¼¿Í °°ÀÌ floatingµÈ boxÀÇ marginÀº ÇÕÃÄÁöÁö ¾Ê½À´Ï´Ù. µû¶ó¼ À§ÀÇ ¿¹Á¦¿Í °°ÀÌ float_box¶ó´Â class¸¦ »ç¿ëÇÏ´Â div boxÀÇ °æ¿ì box³¢¸® ¸¸³ ºÎºÐÀÇ margin ¿ª½Ã collapsing µÇÁö ¾Ê°í °¢°¢ÀÇ margin °ªÀ» °®´Â´Ù´Â ¶æ ÀÔ´Ï´Ù. ¾Æ¸¶ ´ë ºÎºÐ Á¦ ¸»À» ¹ÏÀ¸½Ã°ÚÁö¸¸ Ȥ½Ã 'À̰аü¸®ÀÚ°¡ ÀÚ±â Æí¸®ÇÑ ´ë·Î ÇØ¼®ÇѰŠ¾Æ´Ñ°¡?' ¶ó´Â ÀÇȤÀ» ǰ´Â ºÐµé... ÇÏÁö¸¸ ÀÌ °ü¸®ÀÚ°¡ '¼³¸¶ °ÅÁþ¸» ÇϰڽÀ´Ï±î?' ÇÏÁö¸¸ ±×·± ºÐµéÀÌ ÀÖ´Ù¸é ±×·± ºÐµéÀ» À§Çؼ Áõ°Å¸¦ Á¦½ÃÇϰڽÀ´Ï´Ù. collapsing-margins À̶ó´Â °ÍÀº Á¦ ¸¾´ë·Î Á¤ÇÑ °ÍÀÌ ¾Æ³ª¶ó W3C ÀÇ ¹®¼ Áß, box modelÀÇ collapsing-margins ºÎºÐ¿¡¼ ¼³¸íÇϰí ÀÖÀ¸´Ï Âü°í ÇϽÃÁÒ. ±× ºÎºÐ¿¡¼ ¹ßÃéÇÑ ³»¿ëÀº ¾Æ·¡¿Í °°À¸¸ç ´ë·« ÇØ¼®Çϸé Collapse marginsÀÇ ¿ø¹®8.3.1 Collapsing margins (marginÀÇ Æ÷°³¾îÁü)In this specification, the expression collapsing margins means that adjoining margins (no padding or border areas separate them) of two or more boxes (which may be next to one another or nested) combine to form a single margin. In CSS2, horizontal margins never collapse. Vertical margins may collapse between certain boxes:
ÀÌ¿Í °°ÀÌ float À̳ª position property ¸¦ »ç¿ëÇØ¼ positioning ½ÃŲ boxÀÇ margin ³¢¸® Æ÷°³¾îÁöÁö ¾Ê´Â ¿øÄ¢¿¡ ÀÔ°¢Çؼ IEÀÇ double margin bug¸¦ »ý°¢ÇØ º¸¸é ÀÌ°Ô ¿Ö bugÀÎÁö¸¦ ÀÌÇØ°¡ ½¬¿ì¸®¶ó »ý°¢ÇÕ´Ï´Ù. Expanding box bug¿Í °íÁ¤ Ä¡¼ö·Î ÁöÁ¤ÇÑ block boxÀÇ width ¿Í heightÀÇ ¿Ã¹Ù¸¥ ó¸®Expanding box bug¿¡ ´ëÇØ ¼³¸íÇϱâ Àü¿¡ '°íÁ¤ Ä¡¼ö·Î ÁöÁ¤ÇÑ block boxÀÇ width ¿Í heightÀÇ ¿Ã¹Ù¸¥ ó¸®'¿¡ ´ëÇØ ¸ÕÀú ¸»ÇÏÁö ¾ÊÀ» ¼ö ¾ø°Ú½À´Ï´Ù. °íÁ¤ Ä¡¼ö¶ó´Â °ÍÀº ¿¹¸¦ µé¾î div¸¦ ¸¸µé°í width °ªÀ» ÁöÁ¤ÇÏÁö ¾Ê¾Ò°Å³ª auto·Î ÁöÁ¤ÇßÀ» °æ¿ì(widthÀÇ Ãʱ⠰ªÀÌ autoÀ̹ǷΠµÑ ´Ù °°Àº °á°úÀÓ) °¡·Î ¹æÇâ(width)ÀÇ Å©±â´Â ºê¶ó¿ìÀú âÀÇ Å©±â ¸¸ÅÀÌ µÇ°í, div ¼ÓÀÇ ³»¿ë¹°(contents)ÀÌ ºê¶ó¿ìÀú âÀÇ width¸¦ ³ÑÀ» °æ¿ì ÁÙÀÌ ¹Ù²î°Ô µË´Ï´Ù. µû¶ó¼ À§ÀÇ double margin bugÀÇ ¿¹Á¦ÀÇ °æ¿ì 1024 X 768 ¿¡¼ º» °á°ú¿Í 800 X 600 ¿¡¼ º» °á°ú°¡ ´Ù¸¦ ¼ö ÀÖ´Ù´Â ¾ê±âÁÒ. IE ÀÇ double margin bug¸¦ »õ âÀ¸·Î ¶ç¿ö¼ ºê¶ó¿ìÀú âÀÇ °¡·Î ÆøÀ» resizing ÇØ º¸½Ã¸é °¡·Î Å©±â°¡ ÁÙ¾îµé¸é ¼ö¿ëÇÒ ¼ö ÀÖÀ» ¸¸ÅÀÇ box °³¼ö¸¦ ó¸®ÇÏ°í ´ÙÀ½ boxºÎÅÍ ÁÙÀ» ¹Ù²Ù¾î¼ ó¸® ÇÑ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ¶Ç ÀÌ °æ¿ì ºê¶ó¿ìÀú âÀÇ width°¡ ÇÏÀ§ box 1°³ÀÇ °¡·Î Æø(margin + width) º¸´Ù ÀÛ¾ÆÁ³À» ¶§´Â ´õ ÀÌ»ó ÁÙÀ» ¹Ù²ÙÁö ¸øÇÏ°í ¼öÆòÀ¸·Î scroll bar¸¦ ¸¸µé°Ô µË´Ï´Ù. ¹°·Ð ÀÌ Ã³¸® °á°ú´Â ºñ´Ü IE »Ó¸¸ ¾Æ´Ï¶ó NN, FF µîÀÇ ºê¶ó¿ìÀú¿¡¼µµ ¸¶Âù°¡Áö ÀÔ´Ï´Ù. ±×·±µ¥ ¹®Á¦´Â width:auto ¶Ç´Â width¸¦ ÁöÁ¤ ¾È ÇßÀ» °æ¿ì°¡ ¾Æ´Ñ {width: ¾î¶² °íÁ¤ Ä¡¼ö} ·Î ÁöÁ¤ÇßÀ» °æ¿ì ÀÔ´Ï´Ù. ¿ì¼± ¾Æ·¡¿Í °°ÀÌ width, height °¢°¢ 100px ÀÎ div box¸¦ ¸¸µé°í, ù ¹øÂ° ÁÙÀÇ text¸¦ enter³ª °ø¹é(space) ¾øÀÌ width º¸´Ù ±æ°Ô ÁÖ°í, text lineÀÇ Çà¼ö¸¦ height º¸´Ù ³ô°Ô ÁÖ¾úÀ» °æ¿ì... ÀÔ·Â
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Untitled</title>
<style type="text/css">
<!--
body{margin:0px;background-image:url('images/grid_50.gif');}
div{border:1px solid red;width:100px;height:100px;float:left;}
-->
</style>
</head>
<body>
<div style="background-color:gold;"><!-- ¹ö±× Àâ±â -->
123456789012345678901234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
</div>
<div></div>
<div style="clear:left;"></div>
</body>
</html>
Ãâó : http://www.positioniseverything.net/explorer/expandingboxbug.html À§ÀÇ ½ÇÇà °á°ú¿¡ ´ëÇØ ¿©·¯ºÐµéÀº ¾î¶»°Ô »ý°¢ ÇϽÃÁÒ? IE¸¦ »ç¿ëÇÏ¸é¼ float propety¸¦ ½á¼ Page layoutÀ» Àâ¾Æ º» »ç¶÷À̶ó¸é ´©±¸³ª °Þ¾î º¸¾ÒÀ» »çÇ×ÀÏ °Í ÀÔ´Ï´Ù. ¶Ç NN, FF µîÀ» »ç¿ëÇØ º¸Áö ¾ÊÀ¸½Å ºÐÀ̶ó¸é ¿ø·¡ ¾î¶»°Ô rendering µÇ¾î¾ß µÇ´ÂÁö¸¦ ¸ð¸£´Â°Ô ´ç¿¬ÇϰÚÁÒ. NN, FF µî¿¡¼´Â ¾Æ·¡¿Í °°ÀÌ Ç¥ÇöµË´Ï´Ù.
123456789012345678901234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
À§ÀÇ simulation °á°ú¸¦ º¸¸é ³»¿ë¹°ÀÌ Àִ ù ¹øÂ° boxÀÇ °æ¿ì ³»¿ëÀÌ boxÀÇ °¡·Î, ¼¼·Î¸¦ ³ÑÄ¡µå¶óµµ border¿Í background-color´Â ÁöÁ¤ÇÑ 100px X 100px °¡ µÈ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖÁÒ. µû¶ó¼ 3°³ÀÇ box ¸ðµÎ background-color¸¦ ÁöÁ¤Çϸé NN, FF ¿¡¼´Â ¾Æ·¡¿Í °°ÀÌ Ã³¸®ÇÕ´Ï´Ù. NN, FF ¿¡¼ÀÇ À§ÀÇ ¿¹Á¦ simulation 2
123456789012345678901234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
ÇÏÁö¸¸ À§ÀÇ simulation 2 ÀÇ °á°ú´Â 'expanding box bug'¶ó°í ºÒ¸®¿ì´Â ÀÌ bug¸¦ overflow:hidden À¸·Î º¸Á¤ÇÑ °á°ú¿Í Â÷À̰¡ ÀÖ½À´Ï´Ù. overflow:hiddenÀ¸·Î º¸Á¤ÇÑ °á°ú´Â boxÀÇ width¿Í height¸¦ ³ÑÄ¡´Â ³»¿ëÀÌ clip À¸·Î Àß¶ó³½ °Í ó·³ box ÀÌ¿ÜÀÇ ³»¿ëÀÌ Àß·ÁÁ® ³ª°¡Áö¸¸ NN, FF ¿¡¼ÀÇ simulation 2 ¿¡¼´Â ³»¿ëÀÌ µÎ ¹øÂ°ÀÇ ÆÄ¶õ box¸¦ Áö³ª¼ ³ªÅ¸ ³´Ù´Â °Ì´Ï´Ù. floating boxÀÇ ÁÙ ¹Ù²Þ ¹æÁö'floating boxÀÇ ÁÙ ¹Ù²Þ' À̶õ IE ÀÇ double margin bug¿¡¼¿Í °°ÀÌ 2°³ ÀÌ»óÀÇ box¸¦ float ½ÃÄ×À» ¶§ ºê¶ó¿ìÀú âÀÇ °¡·Î ÆøÀÌ floating µÈ boxÀÇ width µéÀ» ÇÕÇÑ ±æÀÌ º¸´Ù ÀÛ°Ô resizing µÊ¿¡ µû¶ó floatingµÈ box µé Áß¿¡ 2 ¹øÂ° ÀÌÈÄÀÇ box(µé)°¡ ù ¹øÂ° box ¾Æ·¡·Î ÁÙÀÌ ¹Ù²î´Â Çö»óÀ» ¸»ÇÕ´Ï´Ù. °£È¤ À¥ ¼ÇÎÀ» ÇÏ´Ùº¸¸é µå¹°±ä ÇÏÁö¸¸ ºê¶ó¿ìÀú°¡ resizing µÊ¿¡ µû¶ó ÀÌ·± ÁÙ ¹Ù²ÞÀÌ »ý±â´Â ȨÆäÀÌÁöµµ ÀÖ´õ±º¿ä. ¾Æ¸¶ Á¦ ÁüÀÛÀ¸·Î´Â ÀÌ·± ȨÆäÀÌÁöµéÀÇ °æ¿ì page layout À» ÇÒ ¶§ ÀÚ±â´Â ³ÐÀº ¸ð´ÏÅÍ¿¡ °íÇØ»óµµ ȸéÀ» º¸¸é¼ ÀúÇØ»óµµ ¸ð´ÏÅ͸¦ »ç¿ëÇÏ´Â »ç¶÷µéÀ» »ý°¢ÇÏÁö ¾Ê¾Æ¼ »ý±â´Â ÀÏÀÌ ¾Æ´Ò±î ÇÕ´Ï´Ù¸¸... ¿¹¸¦ µé¾î ¾Æ·¡¿Í °°Àº layoutÀ» ¸¸µé·Á°í Çß´Ù Ä¡ÁÒ... Code¸¦ ½ÇÇàÇÑ ´ÙÀ½ ÄÚµå ½ÇÇà±â âÀÇ ÆøÀ» Àý¹Ý ÀÌÇÏ·Î ÁÙÀ̸é #left_column div¿Í #right_column div »çÀÌ¿¡ ÁÙÀÌ ¹Ù²î´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ÀÔ·Â
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Untitled</title>
<style type="text/css">
<!--
#header{height:50px;background-color:tomato;}
#left_column{width:100px; background-color:royalblue;}
#right_column{width:200px; background-color:gold;}
#footer{height:50px; background-color:lime; clear:left;}
.column{float:left;}
-->
</style>
</head>
<body>
<div id="header">Page Header</div>
<div id="left_column" class="column">
menu 1<br />menu 2<br />menu 3<br />menu 4<br />menu 5<br />
</div>
<div id="right_column" class="column">
contents<br />contents<br />contents<br />contents<br />contents<br />
</div>
<div id="footer">Page Footer</div>
</body>
</html>
DivÀÇ intrinsic widthÀÌ °á°ú¸¦ º¸¸é, ¸¸¾à ¾î¶² »ç¶÷ÀÌ 1024 X 768 Á¤µµÀÇ ÇØ»óµµ¿¡ ²Ë Â÷µµ·Ï ÀÚ±â ȨÆäÀÌÁö ÀÛ¾÷À» Çß´Ù¸é ±× º¸´Ù ÀúÇØ»óµµ ¸ð´ÏÅ͸¦ »ç¿ëÇÏ´Â »ç¶÷¿¡°Ô´Â À§ÀÇ ½ÇÇà °á°ú¿Í °°ÀÌ block boxÀÇ ÁÙÀÌ ¹Ù²î´Â Çö»óÀÌ »ý±æ ¼ö ÀÖ´Ù´Â ¸»ÀÌÁÒ. µû¶ó¼ ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ´Â IE ÀÇ double margin bug¿¡¼¿Í °°ÀÌ ¾Æ¹«¸® ºê¶ó¿ìÀú âÀÇ ÆøÀ» Á¼Çôµµ ¸¶Áö¸· ³²Àº ÇϳªÀÇ box´Â ÁÙÀÌ ¹Ù²îÁö ¾Ê´Â °ÍÀ» ÀÌ¿ëÇØ¼ À§ÀÇ ¿¹Á¦¿¡¼ÀÇ #left_column°ú #right_column 2°³(¶Ç´Â 2°³ ÀÌ»ó)ÀÇ floating box¸¦ wrap À̶ó´Â id selector¸¦ ÁöÁ¤ÇÑ div box ¼Ó¿¡ ³Ö¾î º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ÀÌ °æ¿ìµµ À§ÀÇ °æ¿ì¿¡¼ ó·³ ÄÚµå ½ÇÇà±â âÀÇ °¡·Î ÆøÀ» Àý¹Ý ÀÌÇÏ·Î resizing ÇÑ ÈÄ ¼öÆò scroll bar¸¦ ¿òÁ÷¿© º¾½Ã´Ù.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Untitled</title>
<style type="text/css">
<!--
#header{height:50px;background-color:tomato;}
#wrap{width:300px;}
#left_column{width:100px; background-color:royalblue;}
#right_column{width:200px; background-color:gold;}
#footer{height:50px; background-color:lime; clear:left;}
.column{float:left;}
-->
</style>
</head>
<body>
<div id="header">Page Header</div>
<div id="wrap">
<div id="left_column" class="column">
menu 1<br />menu 2<br />menu 3<br />menu 4<br />menu 5<br />
</div>
<div id="right_column" class="column">
contents<br />contents<br />contents<br />contents<br />contents<br />
</div>
</div>
<div id="footer">Page Footer</div>
</body>
</html>
À§ÀÇ °á°ú¿¡ ÀÇÇØ¼ div °°Àº block level box ÀÇ width¸¦ ÁöÁ¤ÇÏÁö ¾Ê¾ÒÀ» °æ¿ìÀÇ width, Áï, intrinsic width value °¡ 100% ¶ó´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. Áï, ºê¶ó¿ìÀú âÀÇ ÆøÀ» ²Ë ä¿ì±â ¶§¹®¿¡ ºê¶ó¿ìÀú âÀÇ ÆøÀÌ #wrap¿¡ ÁöÁ¤ÇÑ 300px ÀÌÇÏ·Î resizing µÇ¸é #header¿Í #footer ÀÇ width°¡ #wrap º¸´Ù ª¾ÆÁö´Â ¿ì½º²Î ½º·± ²ÃÀÌ µÇ´Â°ÅÁÒ. ÇÏÁö¸¸... FireFox ¿¡¼ÀÇ Ã³¸®FireFox ¿¡¼´Â ¾ÆÁÖ °£´ÜÈ÷ 󸮵Ǵ±º¿ä. FF¿¡¼´Â min-width ¸¦ »ç¿ëÇÏ¸é µË´Ï´Ù. min-width¶ó´Â peorperty´Â ¿¹¸¦ µé¾î min-width:300px ·Î ÁöÁ¤ÇÏ¸é ºê¶ó¿ìÀú â(»óÀ§ block box)ÀÌ 300px ÀÌÇϰ¡ µÇ¾î ¼öÆò scroll bar°¡ »ý°Üµµ ÁöÁ¤ÇÑ 300px ÀÇ width¸¦ À¯ÁöÇϰí, 300px ÀÌ»óÀÌ µÇ¸é width:100%·Î ÁöÁ¤ÇÑ °Í°ú °°ÀÌ ºê¶ó¿ìÀúÀÇ ÆøÀ» ²Ë ä¿ì°Ô ÇØÁÖ´Â CSS property ÀÔ´Ï´Ù. NN(version 8.0 ¿µ¹®)¿¡¼´Â ºê¶ó¿ìÀú âÀÌ 300px ÀÌÇϰ¡ µÇ¾îµµ ¼öÆò scroll bar°¡ »ý±âÁö ¾Ê¾Æ¼ È®ÀÎÇÒ µµ¸®°¡ ¾ø±º¿ä. Àú¸¸ ±×·±°ÇÁö... ÇÏÁö¸¸ min-width property¸¦ »ç¿ëÇØµµ IE¿¡¼´Â ÀÌ°Ô ÀνÄÀÌ ¾ÈµÇ´Â °ü°è·Î width:100%¿Í °°ÀÌ Ã³¸®µÇ³×¿ä. µû¶ó¼ ¸¹Àº »çÀÌÆ®¿¡¼ ¿¹Á¦ÀÇ #header¿Í #footer ÀÇ width¸¦ °íÁ¤ Ä¡¼ö·Î ÁöÁ¤ÇÏ´Â ÀÌÀ¯µµ ¹Ù·Î ¿©±â¿¡ ÀÖÁö ¾Ê³ª »ý°¢ÇÕ´Ï´Ù. The 'IML'»ç½Ç ÀÌ·± ¹æ¹ý ¸»°íµµ ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ÀúÇÑÅ× ÀÖ±ä ÀÖ½À´Ï´Ù¸¸... ¾ÆÁ÷ °³¹ß ´Ü°è¶ó¼ ¹àÈ÷±â´Â ÂÀ ¹¹ ÇÏÁö¸¸... IML À̶ó´Â °ÍÀÌ ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ¸»ÇÏ¸é ¹«½¼ ¾àÀå»ç ¸»Åõ °°Áö¸¸, ÀÌ IML·Î ¸»ÇÒ °Í °°À¸¸é ¹°¸®ÀûÀÎ È¿°ú´Â ¾ÆÁ÷ ¹àÇôÁø ¹Ù ¾øÁö¸¸(ÇÑ ¹øµµ ¾È ½á ºÃÀ¸¹Ç·Î), ¹®¼ ÀÛ¼ºÀÚ¿¡°Ô ÀÖ¾î¼ Á¤½ÅÀûÀÎ È¿°ú´Â »ó´çÈ÷ ±â´ëµÇ´Â ¾ð¾î¶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹°¸®ÀûÀÎ È¿°ú°¡ ¹àÇôÁø ¹Ù°¡ ¾øÀ¸¹Ç·Î ¿©·¯ºÐµé¿¡°Ô Àû±ØÀûÀ¸·Î ±ÇÀåÇÏÁö´Â ¾Ê½À´Ï´Ù¸¸ ÃÖ¼ÒÇÑ ¼ÕÇØ¸¦ º¸Áö´Â ¾ÊÀ¸¸®¶ó »ý°¢ ÇÕ´Ï´Ù. ´Ü, IML »ç¿ë ÈÄ¿¡ ±× ½ÇÁ¦ÀûÀÎ È¿°ú¿¡ ´ëÇØ ºÐ°³ÇÑ ³ª¸ÓÁö °Ô½ÃÆÇÀ̳ª ¸ÞÀÏÀ» ÅëÇØ ±Û·Î¼ ÀúÇÑÅ× ¾î¶°ÇÑ Å×·¯µµ °¡Çؼ´Â ¾ÈµÇ¸ç, ½ÉÁö¾î ¸¶À½¼ÓÀ¸·Î ³ª¸¶ ºÐÅëÀ» ÅͶ߸®´Â ÀÏÀÌ ¾ø¾î¾ß µÈ´Ù´Â Á¶°ÇºÎ·Î »ç¿ëÇϽñ⠹ٶø´Ï´Ù. ÀÌ Á¶°Ç¿¡ µ¿ÀÇ ÇÏ½Å´Ù¸é ¾Æ·¡ÀÇ 'µ¿ÀÇ' ¸¦ ¼±ÅÃÇÑ ÈÄ ³»¿ëÀ» º¸½Ã±â ¹Ù¶ø´Ï´Ù. TIPS - Page layout¿¡¼ block box »çÀÌ¿¡ border ³Ö±âÀ§ÀÇ floatÀ» »ç¿ëÇÑ page layout ¿¹Á¦¿¡¼¿Í °°ÀÌ °¢ block box¿¡ background-color¸¦ ÁöÁ¤Çؼ box ¿µ¿ªÀ» ±¸ºÐÇϱ⵵ ÇÏÁö¸¸ ¶Ç ÇѰ¡Áö ¹æ¹ýÀ¸·Î¼ ÀÎÁ¢ÇÑ block box¸¦ border·Î ±¸ºÐÇϱ⵵ ÇÕ´Ï´Ù. ¾Æ·¡¿Í °°ÀÌ ¸»ÀÌÁÒ. ÀÔ·Â
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Untitled</title>
<style type="text/css">
<!--
body{margin:0;}
#header{height:50px;border-bottom:1px solid silver;}
#wrap{width:302px;}
#left_column{width:100px; border-right:1px solid silver;}
#right_column{width:200px; border-left:1px solid silver;}
#footer{height:50px;border-top:1px solid silver; clear:left;}
.column{float:left;}
-->
</style>
</head>
<body>
<div id="header">Page Header</div>
<div id="wrap">
<div id="left_column" class="column">
menu 1<br />menu 2<br />menu 3<br />menu 4<br />menu 5<br />
</div>
<div id="right_column" class="column">
contents<br />contents<br />contents<br />contents<br />contents<br />
</div>
</div>
<div id="footer">Page Footer</div>
</body>
</html>
¾çÂÊ¿¡ ¸ðµÎ border¸¦ ÁöÁ¤ÇßÀ¸´Ï ´ç¿¬ÇÑ °á°ú ÀÔ´Ï´Ù¸¸, ¼öÁ÷ borderÀÇ °æ¿ì À§ÀÇ ¿¹Á¦ ½ÇÇà °á°ú´Â 1px ÀÇ border 2°³°¡ °ãÃļ 2px °¡ µÇ¾ú½À´Ï´Ù. ÀÌ°É 1px·Î º¸ÀÌ°Ô ÇÏ·Á¸é °á±¹ µÑ Áß¿¡ Çϳª¿¡¸¸ border¸¦ ÁöÁ¤ÇØ¾ß µÈ´Ù´Â ¸»ÀÌÁÒ. ±×·¸´Ù¸é µÑ Áß ¾îµð¿¡ ÁöÁ¤ÇØ¾ß µÉ±î¿ä? ´äÀº °£´ÜÇÕ´Ï´Ù. µÑ Áß height°¡ ´õ Å«ÂÊ¿¡ ÁöÁ¤ÇÑ´Ù°¡ Á¤´äÀÔ´Ï´Ù. ÇÏÁö¸¸ ±×·¯±â À§Çؼ´Â ÇÑ ÂÊÀÌ Ç×»ó ±æ¾î¾ß µÈ´Ù´Â º¸Àå ÀÖ¾î¾ß µÇ´Âµ¥, ±×°Ô ¾îµð ±×·¸°Ô µÇ°Ú½À´Ï±î. ±×·¸´Ù°í border¸¦ ÁöÁ¤ÇÑ ÂÊÀ» Ç×»ó ±æ°Ô ÇÏ·Á°í ¾ø´Â ³»¿ëÀ» ¸¸µé ¼ö´Â ¾øÁö ¾Ê½À´Ï±î. µû¶ó¼ µÑ Áß ¾î´À ÂÊÀÌ ´õ ±äÁö¿¡ ´ëÇÑ ´äÀº '±× ¶§ ±× ¶§ ´Þ¶ó¿ä.' °¡ µÇ°ÚÁÒ. ±×·¡¼ Á¦°¡ ÇÑ °¡Áö ´ë¾ÈÀ» Á¦½ÃÇÏ·Á°í Çϴµ¥ ¹æ¹ýÀº #left_columnÀ̳ª #right_column ÀÌ ¾Æ´Ñ µÎ box¸¦ ½Î°í ÀÖ´Â #wrap ¿¡ border¸¦ ÁöÁ¤ÇÏ´Â °ÅÁÒ. ÇÏÁö¸¸ box °¡¿îµ¥¿¡ border¸¦ ÁöÁ¤ÇÒ ¼ö´Â ¾øÀ¸¹Ç·Î background-image¸¦ ÀÌ¿ë Çϵµ·Ï ÇϰڽÀ´Ï´Ù. »ç¿ëÇÒ point_1x1.gif (1px X 1pxÀÇ gray »ö)À» 4¹è È®´ëÇÏ¸é ¾Æ·¡¿Í °°½À´Ï´Ù.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Untitled</title>
<style type="text/css">
<!--
body{margin:0;}
#header{height:50px;border-bottom:1px solid silver;}
#wrap{width:300px;background:url(images/point_1x1.gif) 100px 0 repeat-y;}
#left_column{width:100px;}
#right_column{width:200px;}
#footer{height:50px;border-top:1px solid silver; clear:left;}
.column{float:left;}
-->
</style>
</head>
<body>
<div id="header">Page Header</div>
<div id="wrap">
<div id="left_column" class="column">
menu 1<br />menu 2<br />menu 3<br />menu 4<br />menu 5<br />
</div>
<div id="right_column" class="column">
contents<br />contents<br />contents<br />contents<br />contents<br />
</div>
</div>
<div id="footer">Page Footer</div>
</body>
</html>
¾î¶»½À´Ï±î. ÀÌ¿Í °°ÀÌ point_1x1.gif ¸¦ background-image·Î #wrap¿¡ ³ÖÀ¸¹Ç·Î¼ ÁÂÃø°ú ¿ìÃø Áß¿¡ ¾î´À ÂÊÀÌ ±æ¾îÁöµç °ü°è¾øÀÌ ¼öÁ÷ border¸¦ ³ÖÀº °Í°ú °°Àº È¿°ú¸¦ ³¾ ¼ö ÀÖ°Ú½À´Ï´Ù. ÀÌ ¹æ¹ýÀ» »ç¿ëÇÏ¸é ½Ç¼± »Ó¸¸ ¾Æ´Ï¶ó Á¡¼± È¿°ú(sample file 1 , sample file 2 )µµ ³¾ ¼ö ÀÖ½À´Ï´Ù. Áï, °¡·Î 1px ¼¼·Î 2px ÀÇ image¸¦ ¸¸µéµÇ, À§ÀÇ 1px´Â Á¡¼±À¸·Î ¾µ ¿øÇÏ´Â color¸¦ ³Ö°í, ¾Æ·¡ÀÇ 1px ´Â Åõ¸í(¶Ç´Â ¹è°æ»ö°ú °°ÀÌ)ÇÏ°Ô Ã³¸®ÇÏ¿© background-repeat:repeat-y·Î ¹Ýº¹ ½ÃŰ¸é µÉ °ÍÀ̰í, columnÀÌ 3°³ ÀÖ´Â layout (sample file)ÀÇ °æ¿ì, ¿¹¸¦ µé¾î 150px, 450px, 150px ÀÇ columnÀ̶ó¸é °¡¿îµ¥ 450px ¿¡ ¸ÂÃç¼ °¡·Î 450px ¼¼·Î 1px Å©±â¿¡ ¾çÂÊ ³¡À» ¿øÇÏ´Â color·Î, °¡¿îµ¥¸¦ Åõ¸íÇÏ°Ô ÁöÁ¤ÇÏ¿© ÀÌ ¹®¼ÀÇ ÀúÀÛ±ÇÀº www.cadvance.org ¿¡ ÀÖ½À´Ï´Ù.
|