2012-11-18 40 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; 
} 

Tiêu đề và nền điều hướng không hoạt động trong IE8. Nó hoạt động trong Chrome và FF. Tôi nên làm gì? Cảm ơn!Nền: màu không hoạt động trong IE8

+0

Hãy thử sử dụng thẻ băm - 'nền: # 030303;' thay thế. – Boris

+0

IE8 không biết phần tử điều hướng và tiêu đề HTML5. Nhưng - xin lỗi - tôi không có giải pháp. – Sliq

Trả lời

10

Bạn nên áp dụng display:block vào tiêu đề và nav yếu tố:

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

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

Có vẻ như bạn cũng cần phải bao gồm các js sau:

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

Những lý do cho điều này có thể được tìm thấy ở đây:

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

Đặt đơn giản, IE8 không hỗ trợ các phần tử HTML5 theo mặc định, nhưng bằng cách thực hiện javascript này, hãy thực hiện (chỉ dành cho IE8 trở xuống) nó bắt đầu nhận ra các phần tử đó. Hầu hết các nhà phát triển sử dụng một số hình thức html5 shim để sửa lỗi này.

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

+0

Tôi đã thử, nó không hoạt động. – skyneon

+0

@skyneon Bạn đã đọc liên kết chưa? có thể bạn sẽ cần bao gồm nhận xét có điều kiện mà người viết thảo luận. Điều này là do IE8 không hỗ trợ thẻ HTML5. – Pebbl

+0

Bây giờ bạn đã đề cập đến sửa lỗi js, nó hoạt động và tôi đã đọc bài viết. Bây giờ tôi có thể sử dụng các thẻ html5 trong IE8. Cảm ơn! Btw, nó hoạt động mà không hiển thị: khối. – skyneon

0

Hình như IE8 không hỗ trợ tính năng của HTML5 mà không có mặt trong HTML4 (điều này bao gồm các elments mới headernav). Xem câu trả lời cho câu hỏi Does IE8 support HTML5 and CSS3?

Thử thay thế các phần tử theo cách cũ, đang hoạt động: <div class="nav"> và sử dụng bộ chọn CSS .nav.

+0

Bạn chính xác. Đây là HTML 5, nhưng bạn không thể sử dụng nó ... buồn. Cảm ơn bạn anyway! – skyneon

0

Màu nền không làm việc trên trình duyệt Internet Explorer (IE)

IE áp dụng một số bộ lọc trước khi render trang web. đó là lý do tại sao một số màu trang thay đổi.

bạn có thể thêm dòng sau vào lớp CSS của mình để tránh.

filter: none !important; 
Các vấn đề liên quan