웹 페이지 레이아웃, 외층div가 내층div에 따라 자동으로 신축될 수 없는 문제

1333 단어 htmlXHTMLdivfloat
이전에는 왼쪽div(id=DivLeft)와 오른쪽div(id=DivRight)를 한 개의div(id=DivRight)로 감쌌는데, Main은 DivLeft와 DivRight 내용의 높이에 따라 자동으로 신축되어 동적 레이아웃 효과를 얻었다.
#Main{
             width:980px
             height:auto;
             margin:0 auto;//Main 가운데 배치 만들기
              }
#DivLeft{
                    width:250px;
                    height:auto;
                    float:left;
                }
#DivRight{
                    width:730px;
                    height:auto;
                    float:right;
                  }
그러나 이러한 효과는 왼쪽div 오른쪽div의 목적에 도달했다. Main이라는 아버지div가 그들을 포함하지 않아 웹 페이지를 어지럽혔다.
나중에 인터넷에서 해결 방법을 찾았어요. 그렇습니다. 저도 구체적인 의미를 잘 몰라요.어차피 효과 달성:

이 단락은 삭제할 수 없다. 왜냐하면 아마도 웹 페이지는 이런 규범을 따라야 하기 때문이다.
또 하나의 문제는 왼쪽div(DivLeft)의 내용이 갈수록 많아질 때 내용은div에서 자동으로 줄을 바꿀 수 없기 때문에 일부 문자는div의 가장자리를 넘어서 웹 페이지의 착란을 초래할 수 있다.
해결 방법은 이div에 이 두 가지 스타일을 적용하는 것이다:word-wrap:break-word;  overflow:hidden;
실천을 통해 위의 방법은 화호와 구글 브라우저에서만 사용할 수 있다.때로는 IE에서 할 수 없습니다.
해결 방법: 부모div에float:left를 적용하거나 빈div를 추가하고clear:left를 적용합니다
주로 이 스타일입니다.
.box:after
{
	content: ".";
	display: block;
	height: 0px;
	clear: both;
	visibility: hidden;
}

때로는 IE6, 7 아래에서도 안 될 때가 있다. 그러면 부모 용기에 오버플로우:hidden을 넣을 수 있다.

좋은 웹페이지 즐겨찾기