2012-09-11 8 views
5

Tôi vừa phát hiện ra đá quý nhỏ này của lỗi IE9. Có vẻ như IE9 không nhận ra một khoảng trống trước một khoảng thời gian như một điểm phá vỡ. Như trong danh sách các phần mở rộng tên miền hoặc tệp. Mở fiddle sau trong IE9.Lỗi quấn thời gian IE9

http://jsfiddle.net/cssguru/nNnzM/1/

tôi đã cố gắng sử dụng ký tự thoát, nhưng nó đã không giúp đỡ. Bất kỳ đề xuất về một workaround?

+0

Hmmm .. Cùng vấn đề trong IE8. –

+0

IE10 có cùng một vấn đề, mặc dù tôi không chắc đó là lỗi. Nó có thể là cố ý. –

+0

Tôi đã tìm thấy rằng thêm "  .web   .blog   .nyc ..." hoạt động nhưng bạn kết thúc với hai khoảng trắng. Điều này sẽ làm việc cho những gì tôi đang làm, nhưng tôi nghĩ rằng tôi sẽ để lại các chủ đề mở và xem nếu có ai khác đến với một sửa chữa sạch hơn. Xem http://jsfiddle.net/cssguru/nNnzM/4/ –

Trả lời

6

Đây là một tính năng gây phiền nhiễu, nhưng có thể là cố ý và không được coi là lỗi của nhà cung cấp. Thay vào đó, nó được coi là thực hiện Unicode line breaking rules (mà là một phần khá lẻ). Theo các quy tắc đó, khoảng thời gian (hoặc FULL STOP khi chúng gọi nó) có lớp ngắt dòng IS, dấu phân tách bằng số và “Khi không được sử dụng trong ngữ cảnh số, dấu phân cách infix là dấu câu kết thúc câu. Do đó, chúng luôn ngăn chặn các vi phạm trước đây. ”

Để giải quyết các vấn đề như vậy, có lẽ tốt nhất hiện nay nên chèn khoảng cách WIDTH U + 200B ZERO giữa khoảng cách và khoảng thời gian thông thường, ví dụ:

.web ​.shop ​.blog ​.nyc ... 

U + 200B là ký tự điều khiển cho phép ngắt dòng ở nơi chúng không được phép.

Phiên bản IE cũ (IE 6) có thể gặp khó khăn với điều này, hiển thị biểu tượng của ký tự không thể đại diện thay cho U + 200B. Một phương pháp khác, thẻ <wbr>, sẽ không có vấn đề này, nhưng có vẻ như IE 8 và mới hơn thường không tôn trọng thẻ cũ này (có lẽ bởi vì nó không bao giờ thực hiện theo bất kỳ tiêu chuẩn nào, mặc dù tính hữu ích của nó).

+0

Wow! Cảm ơn bạn đã phản hồi sâu sắc. Tôi nghĩ rằng tôi vẫn ủng hộ "  .web   .shop ..." của tôi, nhưng tôi sẽ cung cấp cho bạn tín dụng cho câu trả lời nếu tôi không nhận được phản hồi tốt hơn. –

+0

+1 Một trong những câu trả lời thông tin nhất mà tôi đã thấy ở đây. –

+0

Tôi đã thử nghiệm nhiều hơn một chút và có vẻ như không & # x200b; hoặc hoạt động trong IE8 ... http://jsfiddle.net/cssguru/nNnzM/17/ –