2014-05-20 24 views
13

Chấm mềm dường như không hoạt động trong IE. Có cách nào thay thế hoặc cách làm cho nó hoạt động không?Thẻ wbr không hoạt động trong IE

http://fiddle.jshell.net/88q54/1/

body { 
font-size: 272px;  
} 


<div>W<wbr/>o<wbr/>r<wbr/>d</div> 

Tôi muốn các "chữ" là vỡ khi nó chiều rộng cửa sổ không phù hợp. Công việc được gói trong webkit và mozila, nhưng không có trong IE (10/11).

Tôi biết rằng đối với các từ được thực hiện, tôi có thể sử dụng css word-break: break-all;

nhưng tôi muốn có thể đặt dấu ngắt mềm ở vị trí nhất định của từ để từ-css không hoạt động chính xác cho tôi.

+1

css wordwrap: ngắt lời; InterNet Explorer ngắt từ khi từ vượt quá độ rộng tại vị trí mà ký tự vượt quá giới hạn. wbr không thể được sử dụng để phá vỡ các từ. của nó được sử dụng bên trong khối nobr để phá vỡ câu nhưng không phải từ –

+1

Như họ luôn luôn nói - “ Đừng [nhút nhát] (https://developer.mozilla.org/en/docs/Web/CSS/hyphens#Suggesting_line_break_opportunities) ” – CBroe

Trả lời

35

Thêm dòng sau vào tấm phong cách của bạn:

wbr:after { content: "\00200B"; } 

này chèn U + 200B ZERO WIDTH SPACE, đó là người đồng tính cấp của tốt cũ <wbr> mà các trình duyệt có phần lớn hư hỏng (một sad story).

Hoặc, bạn có thể thay thế <wbr> thẻ theo ký tự đó, bạn có thể viết bằng HTML là &#x200b;.

+0

Cảm ơn, điều đó hoạt động tốt. – WHITECOLOR

+1

Đã thêm '& # x200b;' nơi có thể ngắt từ. Trong trường hợp của tôi sau dấu gạch dưới ('_'). Hoạt động hoàn hảo trong IE11 và Chrome 42 –

+1

wbr: sau này dường như không hoạt động đối với IE11, bởi vì tôi tin rằng sẽ được coi là thẻ trống. Theo bài đăng này: https://stackoverflow.com/a/24702765/2499165 hầu hết các trình duyệt không triển khai: sau khi có thẻ trống. – jessewolfe

4

Jukka's answer là một sản phẩm tốt. Tuy nhiên, trong trường hợp dưới đây, nó là mong muốn cho phép người dùng sao chép văn bản, đó là một địa chỉ e-mail. Trong trường hợp đó, ký tự &#x200b; không thể lẻn vào chuỗi. Do đó, nó phải được giải quyết khác nhau, sử dụng nhiều yếu tố nội tuyến (ví dụ: <span> hoặc <i>) với display: inline-block;.

Trong trường hợp này, <i> thẻ bao quanh thành phần địa chỉ email kết thúc bằng . hoặc bắt đầu bằng @.

.wbr-i-container i { 
    display: inline-block; 
    font-style: inherit; 
} 

<a class="wbr-i-container" 
><i>FirstName.</i 
><i>MiddleName.</i 
><i>LastName</i 
><i>@company.</i 
><i>com</i 
></a> 

<i> được sử dụng cho ngắn gọn & dễ đọc, trong khi <span> sẽ là ngữ nghĩa chính xác.

Làm việc trong các phiên bản hiện tại của Chrome, Firefox, IE và Safari.

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