1

IE 문제는 시간과 시간이 다시 쏟아져 나오는 것을 알고 있지만 아침마다 응답을 찾고 아무도 나를 도와주지 않는 것 같습니다.IE7 CSS 수평 메뉴 - 리가 서로 내부에 중첩되어있는 것 같습니다.

내 가로 탐색 메뉴가 IE7을 제외한 모든 브라우저에서 완벽하게 렌더링되는 것으로 보입니다. 나는이 문제가 아마도 너비가없는 목록으로 할 수 있다고 생각하고있다. (그러나 너비가 필요 없다. 나는 텍스트의 길이에 따라 자동으로 바뀌기를 바란다.) 또는 리가 각각의 안에 앉아있는 것처럼 보인다. 기타 14px 패딩 뚜껑을 계속 적용하십시오. 내 리가 모두 닫는 꼬리표와 부유물을 가지고 있기 때문에 나는 왜 그들이 서로 안에 앉아 있는지 모르겠다 : 왼쪽; 여기

내 코드는 ...

<div id="navig"> 
    <ul> 
     <li class="navig-left"></li> 
     <li class="home"><b>Home</b></li> 
     <li><a class="tabs" href="about.html">About Us</a></li> 
     <li><a class="tabs" href="services.html">Services</a></li> 
     <li><a class="tabs" href="personal-injury-panel.html">Personal Injury Panel</a></li> 
     <li><a class="tabs" href="client-testimonials.html">Client Testimonials</a></li> 
     <li><a class="tabs" href="contact.html">Contact Us</a></li> 
     <li><a class="tabs" href="careers.html">Careers</a></li> 
     <li><a class="tabs" href="affiliates.html">Affiliates</a></li> 
     <li class="navig-right"></li> 
    </ul> 
</div> 

<div class="clr"></div> 



#navig { width:960px; height:46px; background:url(images/navig_bkgrnd.png); } 
#navig ul { list-style-type:none; height:46px; width:960px; } 
#navig ul li.active { float:left; height:32px; text-align:center; display:block; padding:14px 21.3px 0; background:url(images/navig_hover.gif) repeat-x; color:#000000; font-weight:200; font-size:14px; font-style:normal; } 
#navig ul li.home { float:left; height:32px; text-align:center; display:block; padding:14px 21.3px 0; color:#ffffff; font-weight:200; font-size:14px; } 
#navig ul li a.tabs { float:left; height:32px; text-align:center; display:block; padding:14px 21.3px 0; text-decoration:none; color:#FFFFFF; font-weight:200; font-size:14px; font-style:normal; } 
#navig ul li a:hover { display:block; text-decoration:none; height:32px; font-family:Arial, Helvetica, sans-serif; color:#000000; font-weight:200; font-size:14px; font-style:normal; background:url(images/navig_hover.gif) repeat-x; } 
.navig-left { float:left; width:23px; height:46px; background:url(images/navig_left.png); } 
.navig-right { float:left; width:23px; height:46px; background:url(images/navig_right.png); } 
+0

'list-style-type : none;'은'ul'이 아니라'li'에 선언해야합니다. 문제가 될 수 있습니다. 그리고 : 왜 당신의'a'는'떠 다니기 : 왼쪽'을 가지고 있고, 당신은 당신의 CSS 안에 정상적인'li's을 목표로하지 않습니다. 단지 내비게이션, 집과 활동적인 것들입니다. 이 문제를 해결하면 분명히있을 것입니다 ... –

+0

thankyou! 그것은 내가 보통의 li에 떠내려 갔던 float를주지 않았기 때문에, 나는 당신도 언급 한 다른 몇 가지를 변경했다. 다음 시간 동안 배운 교훈은 당신의 도움을 위해 감사한다. – smolkenthin

+0

언제든지 친구! :) 행운을 빌어 요 –

답변

1

봅니다 (당신은 플로트 방식을 사용하고 있기 때문에) 모든 li 항목이 떠 있도록 다음과 같은 CSS 규칙을 추가 :

#navig ul li {float:left;} 

가 보면 당신의 스타일 시트를 사용하면 메뉴의 모든 목록 항목에 실제로 float:left을 적용하지 않고 li.activeli.home 만 적용합니다. 다른 브라우저는 그것을 다루는 것처럼 보이지만 IE는 그것을 좋아하지 않습니다.

jsFiddle (나는 당신이 우리에 대한 액세스 권한이없는 배경 이미지 위에 하얀 텍스트 사용하고 있기 때문에 작업을 진행하기 위해 몇 가지 색상을 수정했다주의 -. 테스트 목적으로 흰색에 흰색의 원인을) 나는이 테스트

IE 7/8/9, FF 및 Chrome의 바이올린 이제는 일관되게 작동합니다.

+0

화려한! 고맙습니다. 너무 심플하지만 때로는 너무 가까이서 보지 말고 코드를 쳐다 보는 모든 고글을 믿을 수 없습니다! 다시 고마워요 :) – smolkenthin

+0

@smolkenthin 큰 기쁨 그것은 문제를 해결. 적절한 해결책이라고 생각되면 upvote와 답으로 표시하는 것을 잊지 마십시오. –

0

강제로 IE7을 ie8로 렌더링하여 페이지의 머리 부분에 추가 할 수 있습니다.

<meta http-equiv="X-UA-Compatible" content="EDGE" /> 
+0

브라우저가 자신보다 새로운 버전에서 어떻게 강제로 렌더링 할 수 있습니까? Plus content = "edge"는 모든 IE 버전을 최신 버전으로 렌더링하도록 강제합니다. 이는 실제로 내 MS를 권장하지 않습니다. –

+0

MS에서 직접 처리 : 가장자리 모드 문서는 웹 페이지를 표시하는 데 사용 된 Internet Explorer 버전에서 사용할 수있는 최상위 모드를 사용하여 웹 페이지를 표시하기 때문에 테스트 목적으로 만이 문서 모드를 사용해야합니다. 프로덕션 용도로 사용하지 마십시오. http://msdn.microsoft.com/en-us/library/ie/cc288325%28v=vs.85%29.aspx –

+0

@KP 친애하는 친구 내가 여러 응용 프로그램에서 사용했고 잘 작동합니다. 당신은 그것을 쓸 수있는 이상이 있지만 다른 참가자들에게 그들의 반응을 묻지 마십시오.) – mcmwhfy

관련 문제