2010-10-18 46 views
31

Làm thế nào để tôi có thể sử dụng nàyFIX CSS <! - [if lt IE 8]> trong IE

<!--[if lt IE 8]> 
    <style type='text/css'> 
    #header ul#h-menu li a{font-weight:normal!important} 
    </style> 
    <![endif]--> 

nếu tôi loại bỏ <!--[if lt IE 8]><![endif]--> Trên mã 'sẽ chạy tốt trong IE 8 nhưng nếu tôi không chạy. Giúp tôi với IE cố định, nếu tôi muốn ở trên mã trong tất cả các phiên bản IE ,.

i muốn mã #header ul#h-menu li a{font-weight:normal!important} chạy chỉ trong IE

+1

gì bạn muốn đạt được điều gì ở nơi đầu tiên? –

+0

Bất cứ kiểu nào sẽ nằm trong câu lệnh có điều kiện của bạn sẽ chạy trong mọi phiên bản IE thấp hơn IE 8. Nhưng tôi không chắc bạn muốn gì, mã đó sẽ không có hiệu ứng trong IE 8 vì nó nhắm vào tất cả trình duyệt thấp hơn IE 8 Bạn có thể giải thích chính xác bạn muốn gì không? – Christophe

+0

Tôi muốn mã #header ul # h-menu li {font-weight: normal! Important} chỉ chạy trong IE – meotimdihia

Trả lời

68

Nếu bạn muốn điều này để làm việc trong IE 8 và dưới đây, sử dụng

<!--[if lte IE 8]> 

lte có nghĩa là "Nhỏ hơn hoặc bằng".

Để biết thêm về nhận xét có điều kiện, hãy xem ví dụ: số quirksmode.org page.

+1

Và có thể là một cách hay để chỉ đưa tham chiếu đến biểu định kiểu bên ngoài trong nhận xét có điều kiện của bạn. Dễ đọc hơn trong quan điểm của tôi. –

+2

@Justus: Và khả năng lưu trữ tốt hơn cùng với mã nguồn HTML nhỏ hơn. – Tomalak

2

Làm thế nào về

<!--[if IE]> 
... 
<![endif]--> 

Bạn có thể đọc here về bình luận có điều kiện.

+0

điều này sẽ hoạt động vì nó sẽ kích hoạt tất cả các phiên bản của IE. Tuy nhiên, bạn có thể thích sử dụng phiên bản 'lte IE 8' vì bạn có thể không muốn nó chạy trong IE9. – Spudley

+0

OP yêu cầu "chỉ trong IE", không có thông số kỹ thuật. Nếu không, có, 'lte IE8' sẽ chắc chắn tốt hơn. – Boldewyn

0
<!--[if IE]> 
    <style type='text/css'> 
    #header ul#h-menu li a{font-weight:normal!important} 
    </style> 
    <![endif]--> 

sẽ áp dụng kiểu đó trong tất cả các phiên bản của IE.

25
<!--[if lt IE 8]><![endif]--> 

Chú thích trong câu trên có nghĩa là nhỏ hơn, vì vậy 'nếu nhỏ hơn IE 8'.

Đối với tất cả các phiên bản của trình duyệt IE, bạn chỉ có thể sử dụng

<!--[if IE]><![endif]--> 

hoặc cho tất cả các phiên bản trên tức là 6 ví dụ.

<!--[if gt IE 6]><![endif]--> 

đâu gt là 'lớn hơn'

Nếu bạn muốn viết phong cách cụ thể cho các phiên bản dưới đây và bao gồm IE8 bạn có thể viết

<!--[if lte IE 8]><![endif]--> 

nơi lte là 'ít hơn và bình đẳng 'to

6

[if lt IE 8] có nghĩa là "nếu thấp hơn IE8" - và đó là lý do tại sao nó không hoạt động trong IE8.

wahat bạn muốn là [if lte IE 8] có nghĩa là "nếu thấp hơn hoặc bằng IE8".

6

Sử dụng chính xác mã này cho IE9.Không gian rất quan trọng.

1

Ngoài ra, thẻ comment

<comment></comment> 

chỉ được hỗ trợ trong IE 8 và thấp hơn, vì vậy nếu đó là chính xác những gì bạn đang cố gắng để nhắm mục tiêu, bạn có thể bọc chúng trong thẻ nhận xét. Chúng giống với

<!--[if lte IE 8]><![endif]--> 

Trong đó lte có nghĩa là "nhỏ hơn hoặc bằng".

Xem: Conditional Comments.

2
I found cascading it works great for multibrowser detection. 

Mã này đã được sử dụng để thay đổi một phai để hiển thị/ẩn trong ví dụ 8 7 6.

$(document).ready(function(){ 
    if(jQuery.browser.msie && jQuery.browser.version.substring(0, 1) == 8.0) 
     { 
      $(".glow").hide(); 
      $('#shop').hover(function() { 
     $(".glow").show(); 
    }, function() { 
     $(".glow").hide(); 
    }); 
     } 
     else 
     { if(jQuery.browser.msie && jQuery.browser.version.substring(0, 1) == 7.0) 
     { 
      $(".glow").hide(); 
      $('#shop').hover(function() { 
     $(".glow").show(); 
    }, function() { 
     $(".glow").hide(); 
    }); 
     } 
     else 
     {if(jQuery.browser.msie && jQuery.browser.version.substring(0, 1) == 6.0) 
     { 
      $(".glow").hide(); 
      $('#shop').hover(function() { 
     $(".glow").show(); 
    }, function() { 
     $(".glow").hide(); 
    }); 
     } 
     else 
     { $('#shop').hover(function() { 
     $(".glow").stop(true).fadeTo("400ms", 1); 
    }, function() { 
     $(".glow").stop(true).fadeTo("400ms", 0.2);}); 
     } 
     } 
     } 
     }); 
Các vấn đề liên quan