2012-04-16 4 views
0

아빠가 만드는 기존 웹 응용 프로그램에서 CSS 브라우저 호환성 문제를 해결하도록 요청했지만 CSS의 기본 내용 만 알고 있습니다.CSS 브라우저 호환성 문제에 대한 조언

필자는 IE가 일반적으로이 문제와 대부분의 사람들에게 Firefox 및 Opera와 같은 "표준 호환"브라우저에 대한 CSS가 있어야한다는 내용을 읽은 다음 조건부 주석을 추가하여 스타일 시트를 지정합니다. 다양한 IE 버전. 그리고 이것이 제가 실제로하려고하는 것입니다.

그러나 IE의 경미한 문제 이외에도 Google 크롬에도 문제가 발생했습니다. 특히 Google 크롬 용으로 다른 스타일 시트를 만드는 것이 좋습니다.

이 같이 방법의

이미지 및 파이어 폭스에 보이는 방법 : 그것은 구글 크롬에 보이는 방법

Example 1

:

여기

Example 2

이 중 일부입니다 CSS 코드 :

#MenuMain-content { 
    background : transparent url(image/mainmenu.png) repeat-x center top; 
    height : 27px; 
    font-size : 11px; 
} 

#MenuMain-content .Menu { 
    height : 25px; 
    margin : 0 0 0 10px; 
} 

#MenuMain-content .Menu A { 
    font : normal 11px Verdana; 
    color : #bfd7ff; 
    display : block; 
    padding : 5px 7px 7px 7px; 
} 

#MenuMain-content .Menu A:hover { 
    color : #ffffff; 
    padding : 5px 7px 7px 7px; 
} 

#MenuMain-content .Menu .Selected { 
    color : #ffffff; 
} 

#MenuMain-content .Menu .Selected:hover { 
    color : #ffffff; 
} 

#MenuSub-content { 
    background : url(image/submenu.png) no-repeat center top; 
    height : 20px; 
} 

#MenuSub-content .Menu { 
    height : 20px; 
    margin-left : 15px; 
} 

#MenuSub-content .Menu A { 
    color : #cccccc; 
    height : 17px; 
    display : inline-block; 
    margin-top : -1px; 
    padding : 2px 7px 0 7px; 
} 

#MenuSub-content .Menu A:hover { 
    background-color : #999999; 
    color : white; 
    height : 16px; 
    margin-top : -2px; 
} 

#MenuSub-content .Menu .Selected { 
    background-color : #336699; 
    color : white; 
    height : 16px; 
    margin-top : -2px; 
    padding-top : 2px; 
} 

#MenuSub-content .Menu .Selected:hover { 
    background-color : #204674; 
    color : white; 
    height : 16px; 
} 

그리고 여기에는 HTML 코드의 일부입니다 :

 <div id="MenuMain-content"> 
      <asp:Menu ID="MainMenu" 
         runat="server" 
         MaximumDynamicDisplayLevels="0" 
         Orientation="Horizontal" 
         CssClass="Menu"> 
      <StaticSelectedStyle CssClass="Selected" /> 
      </asp:Menu> 
     </div>       

     <div id="MenuSub-content"> 
      <asp:Menu ID="SubMenu" 
         runat="server" 
         Orientation="Horizontal" 
         CssClass="Menu"> 
         <StaticSelectedStyle CssClass="Selected" /> 
      </asp:Menu>     
     </div> 

나는 내가이 만든 아니었다 이후 더 코드 조각을 게시 할 수 있다고 생각하지 않습니다. 조언이 있으십니까? Chrome 용으로 별도의 CSS를 만들어야하나요? 미리 감사드립니다! (이전에이 문제를 본 적이)이이 문제의 원인인지 모르겠어요

// Don't do this 
#MenuMain-content .Menu A {} 

// Do this instead 
#MenuMain-content .Menu a {} 

하지만 그건 : :)

+1

이러한 문제를 시연하려면 여기에 코드를 게시하는 것 외에도 http://jsfiddle.net에서 예제를 만드는 것이 좋습니다. – Marcin

+1

나는 조건부 코멘트를 절대로 사용하지 않는다. 일반적으로 모든 브라우저에서 작동하는 솔루션이 있습니다 (모든 주요 브라우저와 ie7 +를 의미합니다). 내가 뭘해야한다고 생각 파이어 폭스에 대한 잡동사니를 사용하여/또한 그들이 가지고있는 요소와 CSS를 검사하고 다음에 무엇을 알아 내려고 크롬 dev 도구를 사용합니다. – Joonas

+0

안녕하세요 당신의 navi의 라이브 코드를 볼 수 있습니다 –

답변

1

나는 당신이 CSS에 당신의 요소에 대문자를 사용하지한다고 생각합니다 좋은 충고. 또한 스크린 샷에서 CSS 렌더링에 따라 Firefox와 Chrome이 동일한 방식으로 동작하는 경향이 있음을 알 수 있습니다.

+0

어제 누군가 크롬과 파이어 폭스에서 전혀 다르게 렌더링되는 CSS3를 사용하여 답변을 게시했습니다. – Marcin

+1

글쎄, CSS3는이 논의의 범위를 벗어난다. 아직 W3C 표준이 아니며 브라우저는 각기 다른 방식으로 실험하고 있습니다. ** 보통 ** Firefox와 Chrome은 표준 CSS와 동일한 방식으로 작동합니다. –

+0

원래 이걸 만들었던 사람이 아니기 때문에 그것이 왜 자본에 있는지 알 수 없습니다. 하지만 조언 주셔서 감사합니다! 나는 그것을 바꿀 것이다 :) 나는 또한 파이어 폭스와 크롬이 CSS와 비슷하게 행동해야한다고 생각했다. 그래서 지금 당장 무엇을해야할지 모르겠습니다. -_- 다시 한번 감사드립니다! :디 – Mae