2012-11-18 15 views
6
body { 
    background: gray; 
    font-family: sans-serif; 
    width: 960px; 
    margin: auto; 
} 

header { 
    background: green; 
    border: 10px solid black; 
} 

nav { 
    margin-top:10px; 
    background: #62D99C; 
    border-radius: 10px; 
    padding: 10px; 
} 

Tło nagłówka i tła nawigacji nie działa w IE8. Działa w Chrome i FF. Co powinienem zrobić? Dzięki!Tło: kolor nie działa w IE8

+0

Spróbuj użyć skrótu - 'background: # 030303;' zamiast tego. – Boris

+0

IE8 nie zna elementów nawigacji i nagłówka HTML5. Ale - przepraszam - nie mam rozwiązania. – Sliq

Odpowiedz

10

Należy zastosować display:block do nagłówka i nav elementów:

header { 
    display: block; 
    background: green; 
    border: 10px solid black; 
} 

nav { 
    display: block; 
    margin-top:10px; 
    background: #62D99C; 
    border-radius: 10px; 
    padding: 10px; 
} 

Wydaje się również muszą zawierać następujące JS:

<!--[if lt IE 9]> 
<script> 
    document.createElement('header'); 
    document.createElement('nav'); 
</script> 
<![endif]--> 

Przyczyny tego można znaleźć tutaj:

http://tatiyants.com/how-to-get-ie8-to-support-html5-tags-and-web-fonts/

Mówiąc prościej, IE8 nie obsługuje domyślnie elementów HTML5, ale dzięki temu wykonaniu javascript (tylko dla IE8 lub mniej) zaczyna rozpoznawać te elementy. Większość programistów używa jakiejś formy html5 shim, aby to naprawić.

http://code.google.com/p/html5shim/

+0

Próbowałem, to nie działa. – skyneon

+0

@skyneon Czy przeczytałeś również link? prawdopodobnie będziesz musiał uwzględnić uwarunkowany komentarz, o którym mówi pisarz. Wynika to z tego, że IE8 nie obsługuje tagów HTML5. – Pebbl

+0

Teraz, gdy wspomniano o js fix, działa i przeczytałem artykuł. Mogę teraz używać znaczników html5 w IE8. Dzięki! Btw działa bez wyświetlania: blok. – skyneon

0

Wygląda jak IE8 nie obsługuje funkcje HTML5, które nie były obecne w HTML4 (w tym nowe elments header i nav). Zobacz odpowiedź na pytanie Does IE8 support HTML5 and CSS3?

Spróbuj wymienić elementy na stary, działający sposób: <div class="nav"> i użyj selektora CSS .nav.

+0

Masz rację. Tutaj jest HTML 5, ale nie możesz go użyć ... smutny. Mimo wszystko dziekuję! – skyneon

0

Kolor tła nie działa w Internet Explorer (IE)

IE zastosować jakiś filtr przed renderowania strony. dlatego niektóre kolory strony zostały zmienione.

możesz dodać następującą linię do swojej klasy CSS, aby jej uniknąć.

filter: none !important;