2010-10-22 38 views
53

Bất cứ ai có thể vui lòng cho tôi biết lý do tại sao word-wrap: break-word sẽ không hoạt động trong IE8?word-wrap: break-word không hoạt động trong IE8

Tôi làm việc này trong các trình duyệt khác nhưng IE8 từ chối nghe mặc dù đọc bài đăng này trên trang web của họ?

http://msdn.microsoft.com/en-us/library/ms531186(VS.85).aspx

Cảm ơn

+0

Nó nói, ngay trên đầu trang bạn đã liên kết với 'CSS {-ms-word-wrap: sWrap}' Tại sao bạn mong đợi phiên bản chưa được sửa đổi để hoạt động? – robertc

+0

@robertc: Tôi nghĩ rằng các phiên bản không có tiền tố thường vẫn hoạt động trong IE 8? Nếu họ không làm vậy, một loạt các trang web sẽ bị hỏng trong IE 8. –

+0

@PaulDWaite Tôi nghĩ đây là một trong những thứ không được sửa lại trong bản beta và đã kết thúc bằng tiền tố trong bản phát hành? – robertc

Trả lời

52

Nếu tôi nhớ chính xác, word-wrap: break-word; thực sự là hỗ trợ trong Internet Explorer 8, nhưng các yếu tố theo kiểu phải have layout.

+15

Có. Trang OP được liên kết nói rằng nó ngay tại đó: 'Thuộc tính này áp dụng cho các phần tử có bố trí. Một phần tử có bố trí khi nó được định vị hoàn toàn, là một phần tử khối hoặc là một phần tử nội tuyến có chiều cao hoặc chiều rộng được chỉ định.' –

+0

Thêm 'display: inline-block;' vào một phần tử đã khắc phục sự cố trong đó 'word-wrap: break-word; 'sẽ không kích hoạt trên IE8. Cho nó một layout với 'display: inline-block; đã giải quyết vấn đề này và hoạt động tốt trong tất cả các trình duyệt. Rất quan trọng để có bố trí. Liên kết tuyệt vời để đọc qua trong câu trả lời. Cảm ơn bạn! – lowtechsun

19

Tôi thấy rằng để áp dụng word-wrap cho một td (ô bảng), tôi cần thiết để tạo kiểu cho phần tử table với table-layout: fixed. (Chế độ tiêu chuẩn của IE8.)

+0

điều này cũng cần thiết cho chrome – NimChimpsky

+3

cảm ơn bạn rất nhiều! Tôi cần điều này để sử dụng từ bọc trong một ô bảng cho trình kết xuất đồ họa. – Mido

+0

chỉ sử dụng 'bố cục bảng: cố định' là không đủ. bạn cũng cần sử dụng 'width' – Shafizadeh

12

Hãy thử điều này từ-ngắt: ngắt-tất cả;, cho IE8 và IE9 nó đang làm việc :)

+0

Dễ dàng và hiệu quả ...! – JPCF

+5

Chỉ muốn chỉ ra rằng "từ-break" và "word-wrap" là hai thứ khác nhau. Trong ví dụ sau, "word-break: break-all;" sẽ cắt từ "consectetuer" thành một nửa và "word-wrap: break-word" thì không.

Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

+0

đã làm việc! ... mẹo hay – ggzone

-1

Bạn có thể sử dụng

-ms-word-break: break-all; 
+0

Vui lòng thêm một số giải thích bổ sung cho câu trả lời của bạn. – daniula

+1

MDN ghi rõ: > IE8 giới thiệu -ms-word-break làm từ đồng nghĩa cho từ-ngắt. Không sử dụng tiền tố -ms-. – FranBran

-1

Sau khi xem xét này mã ví dụ từ Microsoft:
https://msdn.microsoft.com/en-us/library/ms531186%28VS.85%29.aspx

tôi quản lý để sửa chữa các vấn đề của tôi với tức là- 8 với phần bổ sung sau vào tài liệu và tiêu đề :

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> 

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 

... và sau đó sử dụng chỉ thị CSS (chính thức) này:

word-wrap: break-word; 
+1

Có vẻ rất nặng tay. Tôi không nghĩ rằng tôi muốn khuyên bạn nên để bất cứ ai để làm cho một ứng dụng render với công cụ rendering khủng khiếp của IE7 chỉ cho một từ-break. Đặc biệt vì điều này sẽ làm cho IE9 trở lên hiển thị như IE7. – StingeyB

+0

Không phù hợp để bỏ phiếu này xuống! Ít nhất nó đã làm việc cho tôi. Một giải pháp tồi nhưng vẫn là một giải pháp. – Magnus

Các vấn đề liên quan