2012-02-24 5 views
2

나는 좌절감을 초월합니다. 나는이 문제에 대한 해답을 몇 시간 동안 연구 해왔다. 예, 여기에 대한 토론이 이미 있습니다 : IE7 float right causes parent element to take up full widthIE7 float right bug - 일반적인 해결책이 없습니다.

하지만 문제가 해결되지 않은 것 같습니다. :

오른쪽 플로팅 요소 내에 2 개의 부동 소수점이 있습니다. 물론 모든 브라우저에서 IE7을 제외하고 작동합니다. 상위 오른쪽 부동 요소는 2 개의 부동 소수점을 감싸는 대신 전체 폭으로 늘어납니다.

I 해봤 크게 :. 1 부모 요소에 는 I 디스플레이 시도했다 :.. 부모 요소에 인라인 블록 제가 최소 폭 시도 : 1 픽셀의 상위에 소자

NONE 중 나는 그들을 개별적으로 그리고 완전히 시도했지만 여전히 IE7에서는 변화가 없다. 내가 뭘 잘못하고있는 걸까?

<div class="parentfloat"> 
    <div class="leftblock"> 
     LEFT FLOAT 
    </div> 
    <div class="rightblock"> 
     RIGHT FLOAT    
    </div> 
</div> 

.parentfloat { 
    float: right; 
    display: inline-block; 
    zoom: 1; 
    min-width: 1px;} 

.leftblock { 
    float: left; 
    text-align: left; 
    margin-right: 60px; 
    padding: 0;} 

.rightblock { 
    float: right; 
    text-align: right; 
    padding: 0;} 

답변

4

요소를 포함하는 .parentfloat에 명시적인 너비를 설정하지 않으면 기본적으로 (IE7에서) 너비의 100 %를 차지하도록 확장됩니다. 이 문제를 해결하려면 .parentfloat 클래스의 명시적인 너비를 정의해야합니다.

예를 들어 jsfiddle을 참조하십시오 (명확성을 위해 배경색을 추가했습니다).

EDIT : IE7 특정 버그를 고려하여 조건부 스타일 시트, CSS 해킹 또는 conditional class을 사용하여 고정 폭을 IE7에만 적용하는 것이 좋습니다.

+0

빠른 답변을드립니다. 폭을 설정하지 않고이를 수행 할 수있는 방법이 있습니까? 너비는 내부에서 발생하는 메시지에 따라 확장됩니다. –

+0

@MarianneYatesManthey IE7에만 폭을 적용하는 것이 좋습니다. 이를 달성하기위한 다양한 방법을 설명하는 링크에 대한 업데이트 된 답변을 참조하십시오. – Moses

+0

모세에게 감사 드려라. 내가 끝내 준 것이다. –

관련 문제