μΉ΄ν…Œκ³ λ¦¬ 보관물: Html

Html

ν”Œλ‘œνŒ… μš”μ†Œκ°€ 포함 된 μ»¨ν…Œμ΄λ„ˆ μš”μ†Œμ˜ 높이가 μ¦κ°€ν•˜μ§€ μ•ŠλŠ” μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ? <html> <body>

높이와 ν”Œλ‘œνŠΈκ°€ μ–΄λ–»κ²Œ μž‘λ™ν•˜λŠ”μ§€ 묻고 μ‹ΆμŠ΅λ‹ˆλ‹€. μ™ΈλΆ€ div와 λ‚΄μš©μ΄μžˆλŠ” λ‚΄λΆ€ divκ°€ μžˆμŠ΅λ‹ˆλ‹€. λ†’μ΄λŠ” λ‚΄λΆ€ div의 λ‚΄μš©μ— 따라 λ‹€λ₯Ό 수 μžˆμ§€λ§Œ λ‚΄ λ‚΄λΆ€ divκ°€ μ™ΈλΆ€ divλ₯Ό μ˜€λ²„ν”Œλ‘œν•˜λŠ” κ²ƒμ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€. μ˜¬λ°”λ₯Έ 방법은 λ¬΄μ—‡μž…λ‹ˆκΉŒ?

 <html>
    <body>
        <div style="margin:0 auto;width: 960px; min-height: 100px; background-color:orange">
    	    <div style="width:500px; height:200px; background-color:black; float:right"></div>
        </div>
    </body>
</html>


λ‹΅λ³€

뢀동 μš”μ†ŒλŠ” μ»¨ν…Œμ΄λ„ˆ μš”μ†Œμ˜ 높이에 μΆ”κ°€λ˜μ§€ μ•ŠμœΌλ―€λ‘œ μ§€μš°μ§€ μ•ŠμœΌλ©΄ μ»¨ν…Œμ΄λ„ˆ 높이가 μ¦κ°€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ …

μ‹œκ°μ μœΌλ‘œ 보여 λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.

μžμ„Έν•œ μ„€λͺ… :

<div>
  <div style="float: left;"></div>
  <div style="width: 15px;"></div> <!-- This will shift
                                        besides the top div. Why? Because of the top div
                                        is floated left, making the
                                        rest of the space blank -->

  <div style="clear: both;"></div>
  <!-- Now in order to prevent the next div from floating beside the top ones,
       we use `clear: both;`. This is like a wall, so now none of the div's
       will be floated after this point. The container height will now also include the
       height of these floated divs -->
  <div></div>
</div>

overflow: hidden;μ»¨ν…Œμ΄λ„ˆ μš”μ†Œλ₯Ό μΆ”κ°€ ν•  μˆ˜λ„ μžˆμ§€λ§Œ clear: both;λŒ€μ‹  μ‚¬μš© ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€ .

λ˜ν•œ μš”μ†Œλ₯Ό 슀슀둜 μ§€μš°κ³  μ‹Άλ‹€λ©΄ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

.self_clear:after {
  content: "";
  clear: both;
  display: table;
}

CSS ν”Œλ‘œνŠΈλŠ” μ–΄λ–»κ²Œ μž‘λ™ν•©λ‹ˆκΉŒ?

floatλŠ” μ •ν™•νžˆ 무엇이고 λ¬΄μ—‡μ„ν•©λ‹ˆκΉŒ?

  • float속성은 λŒ€λΆ€λΆ„μ˜ 초보자 μ˜€ν•΄ν•œλ‹€. κΈ€μŽ„, μ •ν™•νžˆ 무엇을 floatν•©λ‹ˆκΉŒ? μ²˜μŒμ—λŠ” float속성이 λ– λ‚΄λ € 이미지 μ£Όμœ„μ— ν…μŠ€νŠΈ 흐름을 λ„μž… leftλ˜λŠ” right. @Madara Uchicha 의 또 λ‹€λ₯Έ μ„€λͺ… 이 μžˆμŠ΅λ‹ˆλ‹€.

    λ”°λΌμ„œ floatμƒμžλ₯Ό λ‚˜λž€νžˆ 배치 ν•˜λŠ” 데 속성 을 μ‚¬μš©ν•˜λŠ” 것이 잘λͺ» λ˜μ—ˆμŠ΅λ‹ˆκΉŒ? λŒ€λ‹΅μ€ μ•„λ‹ˆμš”μž…λ‹ˆλ‹€ . floatμƒμžλ₯Ό λ‚˜λž€νžˆ μ„€μ •ν•˜κΈ° μœ„ν•΄ 속성 을 μ‚¬μš©ν•˜λ©΄ μ•„λ¬΄λŸ° λ¬Έμ œκ°€ μ—†μŠ΅λ‹ˆλ‹€ .

  • inlineλ˜λŠ” block레벨 μš”μ†Œλ₯Ό ν”Œλ‘œνŒ…ν•˜λ©΄ μš”μ†Œκ°€ μš”μ†Œμ²˜λŸΌ λ™μž‘ν•©λ‹ˆλ‹€ inline-block.

    데λͺ¨

  • 당신이 μš”μ†Œλ₯Ό λ–  경우 leftλ˜λŠ” right의 widthμš”μ†Œμ˜λŠ”ν•˜μ§€ μ•ŠλŠ” ν•œμ΄ λ³΄μœ ν•˜κ³ μžˆλŠ” λ‚΄μš©μœΌλ‘œ μ œν•œλ©λ‹ˆλ‹€ widthλͺ…μ‹œ 적으둜 μ •μ˜λœλ‹€ …

  • floatμš”μ†Œλ₯Ό μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€ center. 이것은 λ‚΄κ°€ μ΄ˆλ³΄μžμ—κ²Œ 항상 봀던 κ°€μž₯ 큰 문제 μž…λ‹ˆλ‹€. float: center;이 float속성 은 μœ νš¨ν•œ 값이 μ•„λ‹™λ‹ˆλ‹€ . float일반적으둜 float컨텐츠λ₯Ό 맨 μ™Όμͺ½ μ΄λ‚˜ 맨 였λ₯Έμͺ½μœΌλ‘œ 이동 ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€ . 단지가 μžˆμŠ΅λ‹ˆλ‹€ 사 에 λŒ€ν•œ μœ νš¨ν•œ κ°’ float속성 즉 left, right, none(κΈ°λ³Έ) 및이 inherit.

  • ν”Œλ‘œνŒ… 된 μžμ‹ μš”μ†Œλ₯Ό 포함 ν•  λ•Œ λΆ€λͺ¨ μš”μ†Œκ°€ μΆ•μ†Œλ˜λ©΄μ΄λ₯Ό λ°©μ§€ν•˜κΈ° μœ„ν•΄ clear: both;속성 을 μ‚¬μš© ν•˜μ—¬ μ–‘μͺ½μ—μ„œ ν”Œλ‘œνŒ… 된 μš”μ†Œλ₯Ό μ§€μš°λ©΄ λΆ€λͺ¨ μš”μ†Œκ°€ μ ‘νžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€ . μžμ„Έν•œ λ‚΄μš©μ€ μ—¬κΈ°μ—μ„œ λ‹€λ₯Έ 닡변을 μ°Έμ‘° ν•˜μ‹­μ‹œμ˜€ .

  • (μ€‘μš”) λ‹€μ–‘ν•œ μš”μ†Œκ°€ μŒ“μ—¬μžˆλŠ” 곳을 μƒκ°ν•΄λ³΄μ‹­μ‹œμ˜€. μš°λ¦¬κ°€ μ‚¬μš©ν•  λ•Œ float: left;λ˜λŠ” float: right;μš”μ†Œκ°€ μŠ€νƒ μœ„λ‘œ ν•˜λ‚˜μ”© μ›€μ§μž…λ‹ˆλ‹€. λ”°λΌμ„œ 일반 λ¬Έμ„œ ν”Œλ‘œμš°μ˜ μš”μ†ŒλŠ” 뢀동 μš”μ†Œλ³΄λ‹€ μŠ€νƒ λ ˆλ²¨μ— μžˆμœΌλ―€λ‘œ 뢀동 μš”μ†Œ 뒀에 μˆ¨κ²¨μ§‘λ‹ˆλ‹€. ( z-indexμ™„μ „νžˆ λ‹€λ₯΄κΈ° λ•Œλ¬Έμ— 이것을 κ΄€λ ¨μ‹œν‚€μ§€ λ§ˆμ‹­μ‹œμ˜€ .)


헀더, λ°”λ‹₯ κΈ€ 및 2 개의 μ—΄μ΄μžˆλŠ” κ°„λ‹¨ν•œ 2 μ—΄ λ ˆμ΄μ•„μ›ƒμ΄ ν•„μš”ν•˜λ‹€κ³  κ°€μ •ν•˜κ³  CSS 뢀동 μ†Œμˆ˜μ  μž‘λ™ 방식을 μ„€λͺ…ν•˜λŠ” 사둀λ₯Ό 예둜 λ“€μ–΄, 여기에 청사진이 ν‘œμ‹œλ©λ‹ˆλ‹€.

μœ„μ˜ μ˜ˆμ—μ„œ, μš°λ¦¬λŠ” 단지 빨간색 μƒμžλ₯Ό λ–  쀑 ν•˜λ‚˜λ₯Ό μˆ˜ν–‰ ν•  수 μžˆμŠ΅λ‹ˆλ‹€ 것 floatλͺ¨λ‘μ— left, λ˜λŠ” 당신은 ν•  수 float에 left, 그리고 또 λ‹€λ₯Έ rightλŠ” 3 μ—΄μ„μ˜ 경우 μˆ˜λ„, λ ˆμ΄μ•„μ›ƒμ— 따라 달라 μ•„λ‹ˆλΌ float2 μ—΄ left경우 λ‹€λ₯Έ right이 μ˜ˆμ œμ—μ„œλŠ” λ‹¨μˆœν™” 된 2 μ—΄ λ ˆμ΄μ•„μ›ƒμ΄ μžˆμœΌλ―€λ‘œ floatν•˜λ‚˜ left와 λ‹€λ₯Έ ν•˜λ‚˜ λŠ” μ„œλ‘œ 의쑴 ν•©λ‹ˆλ‹€ right.

λ ˆμ΄μ•„μ›ƒμ„ λ§Œλ“€κΈ°μœ„ν•œ 마크 μ—…κ³Ό μŠ€νƒ€μΌμ— λŒ€ν•΄μ„œλŠ” μ•„λž˜μ—μ„œ μžμ„Ένžˆ μ„€λͺ…ν•©λ‹ˆλ‹€ …

<div class="main_wrap">
    <header>Header</header>
    <div class="wrapper clear">
        <div class="floated_left">
            This<br />
            is<br />
            just<br />
            a<br />
            left<br />
            floated<br />
            column<br />
        </div>
        <div class="floated_right">
            This<br />
            is<br />
            just<br />
            a<br />
            right<br />
            floated<br />
            column<br />
        </div>
    </div>
    <footer>Footer</footer>
</div>

* {
    -moz-box-sizing: border-box;       /* Just for demo purpose */
    -webkkit-box-sizing: border-box;   /* Just for demo purpose */
    box-sizing: border-box;            /* Just for demo purpose */
    margin: 0;
    padding: 0;
}

.main_wrap {
    margin: 20px;
    border: 3px solid black;
    width: 520px;
}

header, footer {
    height: 50px;
    border: 3px solid silver;
    text-align: center;
    line-height: 50px;
}

.wrapper {
    border: 3px solid green;
}

.floated_left {
    float: left;
    width: 200px;
    border: 3px solid red;
}

.floated_right {
    float: right;
    width: 300px;
    border: 3px solid red;
}

.clear:after {
    clear: both;
    content: "";
    display: table;
}

λ ˆμ΄μ•„μ›ƒμ„ λ‹¨κ³„λ³„λ‘œ μ‚΄νŽ΄λ³΄κ³  float μž‘λ™ 방식을 μ‚΄νŽ΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.

μš°μ„ , μš°λ¦¬λŠ” μ£Όμš” 래퍼 μš”μ†Œλ₯Ό μ‚¬μš©ν•˜μ—¬, 당신은 단지 μš°λ¦¬κ°€ μ‚¬μš©, 그것은 λ‹Ήμ‹ μ˜ 뷰포트 μžˆλ‹€κ³  κ°€μ • ν•  수 header와λ₯Ό ν• λ‹Ή height의 50px아무것도 곡상 κ·Έλž˜μ„œμ΄. ν”Œλ‘œνŒ… 100%λ˜μ§€ μ•Šκ±°λ‚˜ ν• λ‹Ήν•˜μ§€ μ•ŠλŠ” ν•œ μˆ˜ν‰ 곡간 을 μ°¨μ§€ν•˜λŠ” 일반 λΉ„ ν”Œλ‘œνŒ… 블둝 레벨 μš”μ†Œμž…λ‹ˆλ‹€ inline-block.

에 λŒ€ν•œ 첫 번째 μœ νš¨ν•œ κ°’ float은 leftμ˜ˆμ œμ—μ„œ μ‚¬μš© λ˜λ―€λ‘œ float: left;for λ₯Ό μ‚¬μš© .floated_leftν•˜λ―€λ‘œ leftμ»¨ν…Œμ΄λ„ˆ μš”μ†Œμ˜ 블둝을 ν”Œλ‘œνŒ…ν•˜λ €κ³ ν•©λ‹ˆλ‹€ .

열이 μ™Όμͺ½μœΌλ‘œ λœΉλ‹ˆλ‹€.

그리고 λ„€, λ³΄μ‹œλ©΄, .wrapperμ ‘νžŒ λΆ€λͺ¨ μš”μ†Œ λŠ” μ΄ˆλ‘μƒ‰ ν…Œλ‘λ¦¬λ‘œ λ³΄μ˜€μ„ λ•Œ ν™•μž₯λ˜μ§€ μ•Šμ•˜μ§€λ§Œ λ§žμŠ΅λ‹ˆκΉŒ? μž μ‹œ 후에 λ‹€μ‹œ λŒμ•„μ˜¬ κ²ƒμž…λ‹ˆλ‹€. μ§€κΈˆμ€ 열이에 λœΉλ‹ˆλ‹€ left.

두 번째 μ—΄λ‘œ 였면이 μ—΄ float을right

였λ₯Έμͺ½μ— 또 λ‹€λ₯Έ κΈ°λ‘₯이 λœ¬λ‹€

μ—¬κΈ°, μš°λ¦¬λŠ”μ΄ 300px우리 넓은 μ—΄ floatλ°›λŠ” right것이가에 λ–΄λ‹€λ©λ‹ˆλ‹€μœΌλ‘œ 첫 번째 μ—΄ μ˜†μ— 앉아 것 left, 그리고이에 떠이기 λ•Œλ¬Έμ— left, 그것은에 빈 κ±°ν„°λ₯Ό 생성 rightν•˜κ³ , κ³΅κ°„μ˜ μΆ©λΆ„ν•œ κ±°κΈ° λ•Œλ¬Έμ— right, 우리의 rightλ–  λ‹€λ‹ˆλŠ” μš”μ†Œκ°€ μ˜†μ— μ™„λ²½ν•˜κ²Œ μ•‰μ•˜μŠ΅λ‹ˆλ‹€ left.

μ—¬μ „νžˆ μƒμœ„ μš”μ†Œκ°€ μΆ•μ†Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 이제 μˆ˜μ • ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€. λΆ€λͺ¨ μš”μ†Œκ°€ μ“°λŸ¬μ§€λŠ” 것을 λ§‰λŠ” λ°©λ²•μ—λŠ” μ—¬λŸ¬ κ°€μ§€κ°€ μžˆμŠ΅λ‹ˆλ‹€.

  • 빈 블둝 레벨 μš”μ†Œλ₯Ό μΆ”κ°€ν•˜κ³  뢀동 μš”μ†Œλ₯Ό clear: both;λ³΄μœ ν•˜λŠ” μƒμœ„ μš”μ†Œκ°€ λλ‚˜κΈ° 전에 μ‚¬μš© ν•˜μ‹­μ‹œμ˜€.이 μš”μ†ŒλŠ” clear뢀동 μš”μ†Œμ— λŒ€ν•œ μ €λ ΄ν•œ μ†”λ£¨μ…˜μ΄λ―€λ‘œ μž‘μ—…μ„ μˆ˜ν–‰ν•˜μ§€λ§Œ ꢌμž₯ν•˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€.

끝 <div style="clear: both;"></div>전에 λ‹€μŒ .wrapper divκ³Ό 같이 μΆ”κ°€ν•˜μ‹­μ‹œμ˜€.

<div class="wrapper clear">
    <!-- Floated columns -->
    <div style="clear: both;"></div>
</div>

데λͺ¨

κΈ€μŽ„, 그것은 더 잘 μˆ˜μ •λ˜κ³  더 이상 μΆ•μ†Œ 된 λΆ€λͺ¨λŠ” μ—†μ§€λ§Œ DOM에 λΆˆν•„μš”ν•œ 마크 업을 μΆ”κ°€ν•˜λ―€λ‘œ overflow: hidden;μ˜λ„ λœλŒ€λ‘œ μž‘λ™ν•˜λŠ” 뢀동 μžμ‹ μš”μ†Œλ₯Ό λ³΄μœ ν•˜λŠ” λΆ€λͺ¨ μš”μ†Œμ— μ‚¬μš© ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€ .

μ‚¬μš© overflow: hidden;에.wrapper

.wrapper {
    border: 3px solid green;
    overflow: hidden;
}

데λͺ¨

그것은 μš°λ¦¬κ°€ ν•„μš”ν•  λ•Œλ§ˆλ‹€ μš”μ†Œλ₯Ό μ €μž₯ clear floatν•˜μ§€λ§Œ μ΄κ²ƒμœΌλ‘œ λ‹€μ–‘ν•œ 사둀λ₯Ό ν…ŒμŠ€νŠΈ ν•  box-shadowλ•Œ μžμ‹ μš”μ†Œ λ₯Ό μ‚¬μš©ν•˜λŠ” νŠΉμ • μ‚¬λ‘€μ—μ„œ μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€ .

데λͺ¨ (4λ©΄ λͺ¨λ‘μ—μ„œ 그림자λ₯Ό λ³Ό 수overflow: hidden; λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€)

κ·Έλž˜μ„œ μ§€κΈˆ 무엇? μš”μ†Œλ₯Ό μ €μž₯ν•˜μ§€ overflow: hidden;λ§ˆμ‹­μ‹œμ˜€. λͺ…ν™•ν•œ μˆ˜μ • 해킹을 μœ„ν•΄ CSSμ—μ„œ μ•„λž˜ 슀 λ‹ˆνŽ«μ„ μ‚¬μš© overflow: hidden;ν•˜μ‹­μ‹œμ˜€. μƒμœ„ μš”μ†Œ 와 λ§ˆμ°¬κ°€μ§€λ‘œ λΆ€λͺ¨ μš”μ†Œμ—μ„œ classμ•„λž˜λ₯Ό ν˜ΈμΆœν•˜μ—¬ 자체 μ •λ¦¬ν•˜μ‹­μ‹œμ˜€.

.clear:after {
    clear: both;
    content: "";
    display: table;
}

<div class="wrapper clear">
    <!-- Floated Elements -->
</div>

데λͺ¨

μ—¬κΈ°μ„œ κ·Έλ¦ΌμžλŠ” μ˜λ„ ν•œλŒ€λ‘œ μž‘λ™ν•˜λ©° μΆ•μ†Œλ˜μ§€ μ•Šλ„λ‘ λΆ€λͺ¨ μš”μ†Œλ₯Ό 자체적으둜 μ§€ μ›λ‹ˆλ‹€.

λ§ˆμ§€λ§‰μœΌλ‘œ clearν”Œλ‘œνŒ… μš”μ†Œ 뒀에 λ°”λ‹₯ 글을 μ‚¬μš© ν•©λ‹ˆλ‹€.

데λͺ¨


μ–Έμ œ float: none;κ°€ 기본이기 λ•Œλ¬Έμ—, μ–΄μ¨Œλ“  μ‚¬μš© 선언에 λŒ€ν•œ μ‚¬μš©ν•˜λ―€λ‘œfloat: none; ?

λ°˜μ‘ ν˜• λ””μžμΈμ„ μ›ν•œλ‹€λ©΄ ν”Œλ‘œνŒ… 된 μš”μ†Œκ°€ νŠΉμ • ν•΄μƒλ„μ—μ„œ λ‹€λ₯Έ μš”μ†Œ μ•„λž˜λ‘œ λ Œλ”λ§λ˜λ„λ‘ ν•  λ•Œμ΄ 값을 μ—¬λŸ¬ 번 μ‚¬μš©ν•©λ‹ˆλ‹€. κ·Έ float: none;μ†μ„±μ—μžˆμ–΄ μ€‘μš”ν•œ μ—­ν• μ„ν•©λ‹ˆλ‹€.


floatμœ μš©ν•œ 방법에 λŒ€ν•œ μ‹€μ œ μ‚¬λ‘€λŠ” 거의 μ—†μŠ΅λ‹ˆλ‹€ .

  • μš°λ¦¬κ°€ 이미 λ³Έ 첫 번째 μ˜ˆλŠ” ν•˜λ‚˜ μ΄μƒμ˜ μ—΄ λ ˆμ΄μ•„μ›ƒμ„ λ§Œλ“œλŠ” κ²ƒμž…λ‹ˆλ‹€.
  • img내뢀에 ν”Œλ‘œνŠΈλ₯Ό μ‚¬μš©ν•˜λ©΄ pμ½˜ν…μΈ κ°€ 흐λ₯Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

데λͺ¨ (ν”Œλ‘œνŒ…imgμ œμ™Έ)

데λͺ¨ 2 (에imgλœ¬λ‹€left)

  • floatκ°€λ‘œ 메뉴 생성에 μ‚¬μš© – 데λͺ¨

두 번째 μš”μ†Œλ„ ν”Œλ‘œνŒ…ν•˜κ±°λ‚˜ 여백을 μ‚¬μš©ν•˜μ‹­μ‹œμ˜€.

λ§ˆμ§€λ§‰μœΌλ‘œ, 적어도, λ‚˜λŠ” 당신이 floatν•˜λ‚˜μ˜ μš”μ†Œλ§Œμ„ κ°€μ§€κ³  leftμžˆμ§€λ§Œ κ·Έλ ‡μ§€ μ•Šμ€ 이 νŠΉλ³„ν•œ 경우λ₯Ό μ„€λͺ…ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.float λ‹€λ₯Έ μ–΄λ–»κ²Œλ©λ‹ˆκΉŒ?

μš°λ¦¬κ°€ μ œκ±°ν•˜λ©΄ κ°€μ • float: right;μš°λ¦¬μ˜μ—μ„œ .floated_right classμ˜λŠ” div극단적 μΈμ—μ„œ λ Œλ”λ§λ˜λŠ” left이 λ– λ˜μ§€ μ•ŠλŠ”.

데λͺ¨

κ·Έλž˜μ„œμ΄ 경우, ν•˜λ‚˜ ν•  수 μžˆμŠ΅λ‹ˆλ‹€ floatν•˜μ—¬μ— left뿐만 μ•„λ‹ˆλΌ

λ˜λŠ”

당신은 ν•  수 μ‚¬μš© margin-left즉 λ–  μ™Όμͺ½ 칼럼의 크기와 동일 ν•  것이닀 200px넓은 .


λ‹΅λ³€

overflow:autoλ‚΄λΆ€ 뢀동 divλ₯Ό ν¬ν•¨ν•˜λ €λ©΄ μƒμœ„ div에 μΆ”κ°€ ν•΄μ•Όν•©λ‹ˆλ‹€.

<div style="margin:0 auto;width: 960px; min-height: 100px; background-color:orange;overflow:auto">
    <div style="width:500px; height:200px; background-color:black; float:right">
    </div>
</div>

jsFiddle 예제


λ‹΅λ³€

ν”Œλ‘œνŠΈ 버그가 λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€ (이 λ™μž‘μ„ λ‚˜νƒ€λ‚΄λŠ” λΈŒλΌμš°μ € 수둜 인해 기술적으둜 버그인지 ν™•μ‹€ν•˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€). 여기에 무슨 일이 μΌμ–΄λ‚˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

정상적인 μƒν™©μ—μ„œ λͺ…μ‹œμ μΈ 높이가 μ„€μ •λ˜μ§€ μ•Šμ•˜λ‹€κ³  κ°€μ •ν•˜λ©΄ div와 같은 블둝 레벨 μš”μ†ŒλŠ” λ‚΄μš©μ— 따라 높이λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€. μƒμœ„ div의 ν•˜λ‹¨μ€ λ§ˆμ§€λ§‰ μš”μ†Œλ₯Ό λ„˜μ–΄ ν™•μž₯λ©λ‹ˆλ‹€. λΆˆν–‰νžˆλ„, μš”μ†Œλ₯Ό ν”Œλ‘œνŒ…ν•˜λ©΄ 높이λ₯Ό κ²°μ •ν•  λ•Œ λΆ€λͺ¨κ°€ ν”Œλ‘œνŒ… 된 μš”μ†Œλ₯Ό κ³ λ €ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 즉, λ§ˆμ§€λ§‰ μš”μ†Œκ°€ 뢀동 μƒνƒœμ΄λ©΄ 일반 μš”μ†Œμ™€ 같은 λ°©μ‹μœΌλ‘œ λΆ€λͺ¨λ₯Ό β€œμŠ€νŠΈλ ˆμΉ­β€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ²­μ‚°

이 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 두 κ°€μ§€ 일반적인 방법이 μžˆμŠ΅λ‹ˆλ‹€. 첫 λ²ˆμ§ΈλŠ” β€œclearingβ€μš”μ†Œλ₯Ό μΆ”κ°€ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 즉, ν”Œλ‘œνŒ… 된 μš”μ†Œ μ•„λž˜μ—μžˆλŠ” λ‹€λ₯Έ μš”μ†ŒλŠ” λΆ€λͺ¨λ₯Ό κ°•μ œλ‘œ λŠ˜λ¦½λ‹ˆλ‹€. λ”°λΌμ„œ λ‹€μŒ html을 λ§ˆμ§€λ§‰ μžμ‹μœΌλ‘œ μΆ”κ°€ν•˜μ‹­μ‹œμ˜€.

<div style="clear:both"></div>

ν‘œμ‹œλ˜μ–΄μ„œλŠ” μ•ˆλ˜λ©° clear : bothλ₯Ό μ‚¬μš©ν•˜μ—¬ 뢀동 μš”μ†Œ μ˜†μ— μžˆμ§€ μ•Šκ³  κ·Έλ‹€μŒμ— ν‘œμ‹œλ˜λ„λ‘ν•˜μ‹­μ‹œμ˜€.

κ³Όλ‹€:

λŒ€λΆ€λΆ„μ˜ μ‚¬λžŒλ“€μ΄ μ„ ν˜Έν•˜λŠ” 두 번째 방법은 λΆ€λͺ¨ μš”μ†Œμ˜ CSSλ₯Ό λ³€κ²½ν•˜μ—¬ μ˜€λ²„ν”Œλ‘œκ°€ β€œλ³΄μ΄λŠ” κ²ƒβ€μ΄λ˜λ„λ‘ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. λ”°λΌμ„œ μ˜€λ²„ν”Œλ‘œλ₯Ό β€œμˆ¨κ²¨ μ§β€μœΌλ‘œ μ„€μ •ν•˜λ©΄ λΆ€λͺ¨κ°€ ν”Œλ‘œνŒ… 된 μžμ‹μ˜ 맨 μ•„λž˜λ‘œ ν™•μž₯λ©λ‹ˆλ‹€. λ¬Όλ‘  λΆ€λͺ¨μ— 높이λ₯Ό μ„€μ •ν•˜μ§€ μ•Šμ€ κ²½μš°μ—λ§Œ ν•΄λ‹Ήλ©λ‹ˆλ‹€.

λ‚΄κ°€ λ§ν–ˆλ“―μ΄, 두 번째 방법은 의미 둠적으둜 μ˜λ―Έμ—†λŠ” μš”μ†Œλ₯Ό 마크 업에 μΆ”κ°€ ν•  ν•„μš”κ°€ μ—†κΈ° λ•Œλ¬Έμ— μ„ ν˜Έλ˜μ§€λ§Œ overflow, ν‘œμ‹œ ν•΄μ•Ό ν•  경우 κ°€ μžˆμŠ΅λ‹ˆλ‹€.이 경우 μ§€μš°κΈ° μš”μ†Œλ₯Ό μΆ”κ°€ν•˜λŠ” 것이 ν—ˆμš©λ˜λŠ” 것 μ΄μƒμž…λ‹ˆλ‹€ .


λ‹΅λ³€

그것은 div의 float λ•Œλ¬Έμž…λ‹ˆλ‹€. overflow: hiddenμ™ΈλΆ€ μš”μ†Œλ₯Ό μΆ”κ°€ν•˜μ‹­μ‹œμ˜€ .

<div style="overflow:hidden; margin:0 auto;width: 960px; min-height: 100px; background-color:orange;">
    <div style="width:500px; height:200px; background-color:black; float:right">
    </div>
</div>

데λͺ¨


λ‹΅λ³€

ν”Œλ‘œνŒ… μš”μ†Œκ°€μžˆμ„ λ•Œ λΈŒλΌμš°μ €κ°€ μš”μ†Œλ₯Ό λ Œλ”λ§ν•˜λŠ” 방법을 ν˜Όλ™ν•©λ‹ˆλ‹€. ν•˜λ‚˜μ˜ 블둝 μš”μ†Œκ°€ 뢀동 인 경우 (κ·€ν•˜μ˜ λ‚΄λΆ€ div) λΈŒλΌμš°μ €λŠ” μ›Ή νŽ˜μ΄μ§€μ˜ 정상적인 νλ¦„μ—μ„œ 뢀동 μš”μ†Œλ₯Ό μ œκ±°ν•˜κΈ° λ•Œλ¬Έμ— λ‹€λ₯Έ 블둝 μš”μ†ŒλŠ” λ¬΄μ‹œν•©λ‹ˆλ‹€. 그런 λ‹€μŒ ν”Œλ‘œνŒ… 된 divκ°€ 일반 νλ¦„μ—μ„œ μ œκ±°λ˜μ—ˆμœΌλ―€λ‘œ λ‚΄λΆ€ divκ°€μ—†λŠ” κ²ƒμ²˜λŸΌ μ™ΈλΆ€ divκ°€ μ±„μ›Œμ§‘λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 인라인 μš”μ†Œ (이미지, 링크, ν…μŠ€νŠΈ, 큰 λ”°μ˜΄ν‘œ)λŠ” 뢀동 μš”μ†Œμ˜ 경계λ₯Ό μ‘΄μ€‘ν•©λ‹ˆλ‹€. μ™ΈλΆ€ div에 ν…μŠ€νŠΈλ₯Ό λ„μž…ν•˜λ©΄ ν…μŠ€νŠΈκ°€ λ‚΄λΆ€ div에 λ°°μΉ˜λ©λ‹ˆλ‹€.

즉, 블둝 μš”μ†Œ (헀더, 단락, div λ“±)λŠ” 뢀동 μš”μ†Œλ₯Ό λ¬΄μ‹œν•˜κ³  μ±„μš°κ³  인라인 μš”μ†Œ (이미지, 링크, ν…μŠ€νŠΈ λ“±)λŠ” 뢀동 μš”μ†Œμ˜ 경계λ₯Ό μ‘΄μ€‘ν•©λ‹ˆλ‹€.

여기에 λ°”μ΄μ˜¬λ¦° 예

<body>
    <div style="float:right; background-color:blue;width:200px;min-height:400px;margin-right:20px">
           floating element
    </div>
    <h1 style="background-color:red;"> this is a big header</h1>
    <p style="background-color:green"> this is a parragraph with text and a big image. The text places arrounds the floating element. Because of the image is wider than space between paragrah and floating element places down the floating element. Try to make wider the viewport and see what happens :D
        <img src="http://2.bp.blogspot.com/_nKxzQGcCLtQ/TBYPAJ6xM4I/AAAAAAAAAC8/lG6XemOXosU/s1600/css.png">
     </p>

λ‹΅λ³€

이거 ν•œλ²ˆ 해봐

.parent_div{
    display: flex;
}

λ‹΅λ³€

μ»¨ν…Œμ΄λ„ˆ μœ„μ— ν‘œμ‹œ ν•  divκ°€μ—†λŠ” 경우 μ»¨ν…Œμ΄λ„ˆ div에 overflow 속성을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

<div class="cointainer">
    <div class="one">Content One</div>
    <div class="two">Content Two</div>
</div>

λ‹€μŒμ€ CSSμž…λ‹ˆλ‹€.

.container{
    width:100%;/* As per your requirment */
    height:auto;
    float:left;
    overflow:hidden;
}
.one{
    width:200px;/* As per your requirment */
    height:auto;
    float:left;
}

.two{
    width:200px;/* As per your requirment */
    height:auto;
    float:left;
}

β€”β€”β€”β€”β€”β€”β€”β€“λ˜λŠ”β€”β€”β€”β€”β€”β€”β€”β€”β€“ β€”-

    <div class="cointainer">
        <div class="one">Content One</div>
        <div class="two">Content Two</div>
        <div class="clearfix"></div>
    </div>

λ‹€μŒμ€ CSSμž…λ‹ˆλ‹€.

    .container{
        width:100%;/* As per your requirment */
        height:auto;
        float:left;
        overflow:hidden;
    }
    .one{
        width:200px;/* As per your requirment */
        height:auto;
        float:left;
    }

    .two{
        width:200px;/* As per your requirment */
        height:auto;
        float:left;
    }
    .clearfix:before,
    .clearfix:after{
        display: table;
        content: " ";
    }
    .clearfix:after{
        clear: both;
    }

이 글은 Html μΉ΄ν…Œκ³ λ¦¬λ‘œ λΆ„λ₯˜λ˜μ—ˆκ³  λ‹˜μ— μ˜ν•΄ 에 μž‘μ„±λμŠ΅λ‹ˆλ‹€.