2010-01-12 19 views
82

Ký tự   là khoảng trắng không cho phép ngắt dòng.Đối diện của a nbsp là gì?

<p>lorem ipsum here&nbsp;are&nbsp;some&nbsp;words and so on</p> 

| lorem ipsum    | 
| here are some words and so | 
| on       | 

Điều gì trái ngược với điều đó? Nghĩa là, một ký tự KHÔNG được trả về như một khoảng trắng, nhưng có thể được sử dụng để ngắt dòng.

<p>foo supercalifragilisticexpialidocious bar</p> 
<!-- put char here^ and here^--> 

|foo supercalifragi | 
|listicexpiali  | 
|docious bar  | 

or with wider size: 

|foo supercalifragilisticexpiali | 
|docious bar      | 

Tôi nhận thức được soft-hyphen character, nhưng đối với mục đích của tôi, tôi đặc biệt làm không muốn có một gạch nối thêm vào giờ nghỉ.

+0

Đề cử @NoRefundsNoReturn cho nhận xét sâu sắc nhất của năm 2010 –

Trả lời

92

Bạn muốn có ký tự unicode ZERO-WIDTH SPACE (\ u200B).

Bạn có thể tải mã đó bằng HTML với &#8203; hoặc &#x200b;.

phá vỡ Explicit và không phá vỡ:

LB7: Đừng phá vỡ trước khi không gian hoặc không có không gian rộng.
LB8: Phá vỡ trước bất kỳ ký tự nào sau khoảng trống có độ rộng bằng 0, ngay cả khi một hoặc nhiều khoảng trắng được can thiệp.
http://unicode.org/reports/tr14/

+0

Tôi đã thử nghiệm điều này, nó không tạo ra ngắt dòng trong Firefox 3.5.7. –

+18

Nó không có nghĩa là để sản xuất một linebreak rõ ràng. Nó có nghĩa là để chỉ ra một điểm mà dòng * có thể * được bọc nếu nó quá dài để phù hợp với bất cứ nơi nào nó phải đi. –

+2

Ah, trong trường hợp đó, nó * làm * hoạt động và được thực hiện tốt. –

38

Ngoài ra còn có những ít được biết đến wbr tag, cho phép trình duyệt để quyết định có nên phá vỡ đường dây hay không.

+1

Cần lưu ý rằng đây không phải là tiêu chuẩn và không được hỗ trợ trong tất cả các trình duyệt. –

+1

@Brian, kiểm tra liên kết quirksmode fredden được đăng. – nickf

+10

Nếu nó đủ tốt cho Facebook, nó đủ tốt cho mọi người ;-) –

15

Có một trang đẹp tại quirksmode.org trả lời câu hỏi này khá độc đáo IMHO. http://www.quirksmode.org/oddsandends/wbr.html

Tóm lại: sử dụng < wbr/> hoặc & # 8203; (hoặc & nhút nhát; nhưng bạn đã đề cập bạn không muốn dấu gạch ngang).

+0

Không phải tất cả các khả năng này đều được hỗ trợ bởi tất cả các trình duyệt. Tôi đoán ​ là giải pháp tốt nhất vì hầu hết các trình duyệt đều có thể nhận dạng Unicode. – AndiDog

+0

và người dùng IE6 nhận được một glyph xấu xí dường như ... trái tim tôi khóc. – nickf

-4

theres rất nhiều cuộc thảo luận về vấn đề này nhưng nó đã trở thành nhiều hơn hoặc ít hơn tiêu chuẩn để sử dụng &shy;

+4

Đây là dấu gạch ngang mềm, mà người hỏi không muốn. –

1

Bạn có thể sử dụng tài sản CSS3 gọi word-wrap

p.test {word-wrap:break-word;} 

Hy vọng nó sẽ giúp!

+1

Chỉ hoạt động nếu bạn không quan tâm đến vị trí ngắt dòng. – JJJ