2012-12-20 34 views
5

Khách hàng của tôi không muốn từ nào bị phá vỡ trên trang web của mình. Ví dụ:Các từ bắt buộc CSS thành dòng mới thay vì từ vi phạm

The dog went for a walk and ran to- 
wards the car. 

NÊN BE

The dog went for a walk and ran 
towards the car. 

Vấn đề này chỉ xuất hiện trong Safari. Có ai biết thuộc tính CSS để giải quyết vấn đề này không?

+0

@Andy, 'break-word' không bao giờ giới thiệu dấu nối ở cuối dòng. –

Trả lời

11

Thêm quy tắc CSS

* { -webkit-hyphens: none; } 

Các tình huống duy nhất mà Safari sẽ gạch nối một từ (đó là những gì xảy ra theo mô tả) là một gợi ý gạch nối rõ ràng, như trong to­wards hoặc qua dấu gạch nối tự động qua -webkit-hyphens: auto. Safari đã được mô tả là hỗ trợ gạch nối tự động, nhưng điều này dường như không áp dụng cho phiên bản Windows (5.1.7). Dù sao, quy tắc trên cũng giúp ích cho cả hai cách.

Mặt khác, tốt hơn hết là ngăn chặn chỉ dấu gạch ngang không mong muốn.

+0

Cảm ơn bạn vì điều này, tôi không có ý tưởng WebKit đã làm tự động gạch nối! –

+0

Đây là nguyên nhân của vấn đề! Cảm ơn Jukka! –

1

tôi đã cố gắng này trong Chrome và Safari và có vẻ như để làm việc như mong đợi:

white-space:pre-wrap; 

Ví dụ:

#noBroeknWords 
{ 
white-space:pre-wrap; 
} 

<div style="width:400px"> 
    <span id='noBroeknWords'> 
    LongWord, ShouldNotBeBroken ShouldNotBeBroken ShouldNotBeBroken ShouldNotBeBroken ShouldNotBeBroken ShouldNotBeBrokenShouldNotBeBroken ShouldNotBeBrokenShouldNotBeBroken ShouldNotBeBrokenShouldNotBeBroken. 
    </span> 
This is some text. This is some text. This is some text. 
This is some text. This is some text. This is some text. 
This is some text. This is some text. This is some text. 
</div> 

Đây là jsFiddle

+1

Văn bản được định dạng sẵn hoàn toàn khác với yêu cầu để tránh phân chia từ. –

+0

Điều này làm việc cho tôi, cảm ơn. – afinom

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