float:left와 float:right를 쓰면 왜 바깥 div를 벗어날까요?

안쪽 div 두 개에 각각 float:left와 float:right를 줬는데 바깥 div 다음 줄에 표시돼요.
바깥 div에 높이를 지정하지 않으면 원래 이런가요?
안쪽 div 크기가 유동적이라 높이를 정하기 어려운데 어떻게 처리하면 좋을까요?

댓글 4

  • 연블루 2025.07.26

    float 해제를 해주셔야 해요. 부모에 overflow:auto와 width 값을 주는 방법도 있습니다.
    자식에 float이 적용돼 부모가 높이를 감싸지 못해 생기는 현상이에요.

  • Emily 2025.07.26

    IE에서는 float:right를 먼저 써야 합니다.

  • 튼동 2025.07.26

    IE6에서는 안 되네요 ㅠㅠ

  • 나미 2025.07.26

    부모에 overflow:hidden을 주면 안쪽에 배치될 거예요.