2009-05-14 7 views
1

내 HTML이 너무 게시되어 여기에 게시 할 수 없습니다.두 번째 열이 첫 번째 열 아래로 들어가는 이유는 무엇입니까?

저는 2 열 레이아웃을 가지고 있는데, 첫 번째 열은 160px이고 두 번째 열은 훨씬 큽니다.

어떤 이유로 2 열이 1 열 아래로 들어가 있습니다.

이 문제의 일반적인 원인은 무엇입니까?

업데이트

내가 원하는 것은 이것이다 :

열 1 열 # 무엇을 표시하고 2

(파이어 폭스 괜찮습니다, IE6가 원인이되는 문제) :

컬럼 # 1
컬럼 # 2

업데이트

제 2 열이

에 싸여 그리고 blueprintcss이 있습니다 모두 :

.container:after {content:".";display:block;height:0;clear:both;visibility:hidden;} 

그래서 나는 그것이 명확 것 같다? 모두 열을 가정

+0

"턱받이"가 무슨 뜻인지 자세히 설명해 주시겠습니까? 열 1이 끝나면 열 2가 부모 컨테이너를 채우는 것을 의미합니까? –

+1

스크린 샷주세요. –

답변

3

는 두 번째 열은 첫 번째 경우 아래에 정력됩니다 (왼쪽) 떠내려 :

  • 그것은 clear:left;이 할당했다가 사용할 수있는 공간
너무 넓은입니다
  • IE 6에서 문제가 발생하는 경우 IE 6 3-pixel gap 버그 일 수 있습니다.

    는 (우리는 아마 당신이 게시물에 몇 가지 실제 코드를 삽입하는 경우를 돕는 더 나은 기회가있을 것입니다.이 순간 우리가 추측하고 있습니다.)

    업데이트

    그렇게하지 그것이 clear: both;이라고 생각하십시오 -이 규칙은 :after 의사 셀렉터를 지원하지 않으므로 IE 6에 영향을 미치지 않습니다. 여기를 보여주는 테스트 페이지는 다음과 같습니다

    http://www.pauldwaite.me.uk/testy.html

    +0

    클리어 레프트를 오버라이드 할 수있는 방법이 있습니까? 기본적으로 blueprintcss를 사용하고 있습니다. –

    +0

    두 번째 열이 div.container에 래핑 된 경우 아니요, 두렵습니다. div.container는 첫 번째 열을 지우고 (즉, 그 아래에 위치 함) 내용 (즉 두 번째 열)을 가져옵니다. –

    +0

    잠깐, 미안, 나는 말도 안돼. BluePrint에서 올린 CSS는 IE6에서 작동하지 않으므로 IE6 문제를 일으키지 않습니다 (IE6는': after' 의사 클래스를 지원하지 않습니다). –

    1

    바울의 2 가지 이유 외에도, 당신은 마음에 IE6 "이중 마진"버그를 유지해야합니다.

    IE6에서 float 속성은 그에 따라 여백을 두 배로 만듭니다 (float: left;margin-left에 영향을 미치며 그 반대의 경우도 마찬가지입니다).

    관련 문제