2013-05-13 2 views
0

인터넷 익스플로러 7에서 이상한 거리를 보입니다. 이 문제는 다른 브라우저 나 최신 버전의 IE에는 존재하지 않습니다.Internet Explorer 7에서 원하지 않는 여백 문제가 발생했습니다.

제대로하려면 어떻게해야합니까?

크롬 버전 :
Most of browsers show what exactly should show!
IE 7 버전 :
IE puts some space above the title.

HTML

<div class="box"> 
    <header class="module-title"> 
     <h2 class="title">گزارش و مصاحبه</h2> 
    </header> 
    <section class="module-content"> 
     <ul class="sidebar-news"> 
      <li> 
       <div class="image-holder"> 
        <img src="img.jpg" alt="Test item"> 
       </div> 
       <h3><a class="moduleItemTitle" href="#">Copy of مصاحبه با معاون صدا درباره راديو كتاب</a></h3> 
       . 
       . 
       . 

      </li> 
     </ul> 
    </section> 
</div> 

CSS

.module-title h2 { margin-top: 0; font-size: 26px; line-height: 30px; } 
.sidebar-news { list-style: none; margin: 0; } 
.sidebar-news h3 { font-size: 20px; line-height: 26px; margin-top: 0; } 
.sidebar-news .image-holder { width: 140px; float: right; margin-left: 10px; } 

업데이트 1 : 나는 .sidebar-news h3-*margin: -20px;을 제공하여 고정하지만 난 내 솔루션을 좋아하지 않아! 왜 이런 일이 일어나는 걸까요? 그 격차를 더하는 것이 있습니까?

+3

[reset your css] (http://meyerweb.com/eric/tools/css/reset/)가 먼저 나왔습니까? – Seza

+0

IE7을 지원하지 않습니까? –

+1

@Seza 예, 재설정 옵션을 활성화하고'Modernizr.js'를 불러오는'Bootstrap'을 사용하고 있습니다 –

답변

1

당신은 IE7에서 이것을 달성하기 위해 플로트 속성을 적용 할 필요가 당신의 "H3"요소에 float: left;을 넣어해야한다고 생각 .

.module-title h2 { margin-top: 0; font-size: 26px; line-height: 30px; } 
.sidebar-news { list-style: none; margin: 0; border:1px solid red; float:left; } 
.sidebar-news .image-holder{ float:right;} 
.sidebar-news h3 { font-size: 20px; line-height: 26px; margin:0px; padding:0px; float:left; } 
.sidebar-news .image-holder { width: 140px; float: right; margin-left: 10px; } 
+0

은'float'을 주면 IE7에서 올바르게 만들지 만 다른 브라우저는 이미지와 제목 뒤에 떠 다니는 텍스트가 아닌 다른 방식으로 페이지를 렌더링합니다. –

+0

나는 * float : right;를 사용해야한다. –

+1

@faridv, 해킹을 사용하지 마십시오! IE7을 지원해야하는 경우 IE 조건부 주석을 사용하여 IE7 관련 스타일 시트를로드하십시오. –

1

볼이 목록에 # 2 : 기본적으로 http://net.tutsplus.com/tutorials/html-css-techniques/9-most-common-ie-bugs-and-how-to-fix-them/

, 나는 가장 빠른 수정

+0

나는 이것에 right float을 써야하지만 다른 브라우저에서는 페이지를 더 나쁘게 만듭니다. –

+0

이전 IE에는 HasLayout 속성에 문제가 있습니다. 확대/축소 : 1, 오버플로 : 숨김 등으로이를 수정할 수 있습니다. – Seza

+0

@faridv, 다른 브라우저에 부정적인 영향을 줄 수 있음을 이해합니다. 이 경우 'float : left;'를 앞에 * 표시를하고 IE7 전용 CSS 해킹 인'* float : left; '를 사용하십시오. 즉, IE7 만 해당 행을 구문 분석합니다. 이 작업을 수행해야하는 경우 IE7 전용 해킹임을 나타내는 주석을 남겨야합니다. 그들은 일반적으로 낙담하지만,이 제한된 시나리오에서 나는 받아 들일만한 해결책이라고 생각한다. – JacobMcLock