2008 Ngày 8 tháng 1 năm 2008
Một vài tháng trước đó, chúng ta đã thấy, làm thế nào chúng ta có thể bao gồm một phần của CSS sẽ được nhìn thấy IE6 chỉ ( Đối với các IES của bạn Chỉ ). Có nhiều cách khác để đạt được điều này là tốt. Đơn giản chỉ cần bao gồm một CSS riêng biệt, cụ thể để IE mục tiêu của bạn. điều này có thể đạt được với những gì được gọi là Bình luận có điều kiện.
Bình luận có điều kiện là một cách để phát hiện các loại trình duyệt và phiên bản. Phát hiện trình duyệt được thực hiện để đảm bảo rằng nội dung trình bày cụ thể trình duyệt. Phát hiện trình duyệt có thể được thực hiện bằng cách sử dụng nhiều kỹ thuật khác nhau. Phương pháp này có nhiều lợi thế hơn các phương pháp trước đó, bao gồm chuyển đổi phong cách bằng cách sử dụng javascript. Để liệt kê quan trọng số, sẽ được;
- Kịch bản không được yêu cầu
- Cross-trình duyệt
Làm thế nào để chúng ta làm điều này?
Chỉ làm một cái gì đó trong IE 5
<!--[if IE 5]> Welcome to Internet Explorer 5. <![endif]-->
Làm điều gì đó trong Tất cả các phiên bản IE
<!--[if IE]>
<link href="css/ie.css" rel="Stylesheet" type="text/css" />
<![endif]-->
Làm điều gì đó trong Tất cả các phiên bản IE mới hơn IE 5
<!--[if gte IE 5]>
<script type="text/javascript"><!--
alert("Congratulations! You are running Internet Explorer 5 or greater.");<br />
// --></script>
<![endif]-->
Để biết thêm vartiations có điều kiện, đọc thông tin này trên MSDN:
Giới bình luận theo điều kiện
không có ý kiến | tags: Lỗi IE , Sửa chữa IE , IE Hacks , IE vấn đề | đăng trong quirks trình duyệt , CSS , HTML , JavasScript
2007 09 Tháng 9 2007
Bạn đã nhận thấy đôi khi, những điều đơn giản từ chối làm việc trong IE6 ... location.href chỉ là một điều như vậy.
Nếu bạn đã thêm một chức năng onclick vào thẻ neo của bạn như dưới đây ...
<a href="javascript:void(0);" onclick="onClickLink('xxx');"> đi đến vị trí mới </ a>
Với một số chức năng như thế này ...
onclickLink chức năng (id) {
var URI = "test2.html id =" + id;
window.location.href = URI;
}
Để trớ trêu của bạn, bạn sẽ nhận thấy rằng đó là một phần của kịch bản đơn giản từ chối làm việc trong IE ... Vâng! Tôi có thể thảo luận về lý do ở đây, nhưng không nghĩ rằng nó sẽ có giá trị ... Mặc dù, tôi dường như có một giải pháp ... (Tôi đặt cược nếu bạn hiểu được Javascript, bạn sẽ hiểu, tại sao chúng ta thêm tinh chỉnh này cho IE6)
Giải pháp
<a href="javascript:void(0);" onclick="onClickLink('xxx'); trở lại false; "> đi đến vị trí mới </ a>
Nếu bạn có bất kỳ câu trả lời đơn giản, xin vui lòng viết chú thích. Nó sẽ thực sự được appretiated, tôi đặt cược, nhiều!
có ý kiến | tags: IE Sửa chữa , IE6 | đăng trong quirks trình duyệt , JavasScript
2007 Ngày 08 tháng 9 năm 2007
Nếu bạn đã được viết CSS cho trong khi, bạn sẽ có kinh nghiệm những lần khi bạn có nghĩa là kéo tóc của bạn khi bố trí CSS của bạn nhìn tốt trong tất cả các trình duyệt mới (có nghĩa là trình duyệt chậm nhất là IE6), nhưng IE 6 ném một cơn giận. Bạn chiến đấu quyết liệt để điều chỉnh CSS của bạn nhưng nó không hoạt động ... Vâng! Các hacks ...
1. Gạch dưới Hack:
Theo định nghĩa, CSS 2.1 đặc điểm kỹ thuật cho phép gạch dưới ("_") trong nhận dạng CSS. Tuy nhiên, nhiều trình duyệt vẫn dường như bỏ qua bất kỳ xác định tiến hành với một gạch dưới nhưng IE. Điều này lỗi / tính năng của IE do đó trở thành một cách rất rõ ràng để thiết lập các thuộc tính CSS cho IES. vì vậy hãy nhớ, Một tài sản CSS bằng văn bản với gạch dưới trên đầu là có thể nhìn thấy cho Internet Explorer (tất cả các phiên bản IE 7)
#box {
min-height: 300px;
height: auto;
_height: 300px; /* all IE versions less than version 7 */
...
}
Xem trình diễn của gạch thuê
Ngoài ra, Các hack min chiều cao cho IE6 sử dụng Hack gạch dưới, kiểm tra
2. Hack thăng (#): -
Giống như gạch thuê, một trong những điều này là quá cho IES OLY, với một sự khác biệt tốt, nhận dạng tài sản bắt đầu bằng # trên đầu có thể nhìn thấy cho Tất cả các phiên bản IE, IE7 bao gồm và vô hình đối với bất kỳ trình duyệt tiêu chuẩn khác.
.obj_container {
display: table-cell;
vertical-align: middle;
#position: absolute; /* For IE only */
#top: 50%; /* For IE only */
#left:50%; /* For IE only */
}
Hack này đã được sử dụng độc đáo để chứng minh một trình duyệt chéo dọc sắp xếp giải pháp, có một cái nhìn ở bài viết này để tìm thấy nhiều hơn của chúng tôi
3. CSS cho IE6 chỉ:
#my_bad_behaving_div {
/*something for all browsers*/
}
/* Lets use the * html hack so only IE6 reads the rule */
* html #my_bad_behaving_div{
/*something for IE6 only*/
}
Hacks Những thiên đường gửi đi, khi không có gì khác hoạt động ... Nếu bất kỳ của các hacks tiết kiệm cuộc sống của bạn một ngày nào đó, không quên để đối xử với tôi :) cà phê
không có ý kiến | tags: IE lỗi , sửa lỗi IE , IE Hacks , IE vấn đề | đăng trong quirks trình duyệt , CSS , JavasScript