2013-04-06 51 views
5

Bir div'um var ve tüm uzun sözcükler (boşluk olmadan) div dışında akıyor.Uzun sözcüklerin CSS sonu kelimesi kullanılmadan Div'un dışına akmasını önleme

Sorunu How to prevent long text from flowing out of a container veya Long words are flowing out of the box - How to prevent? kopyasında işaretlemeyin, burada sorun word-wrap: break-word; kullanılarak çözülmüştür.

word-wrap: break-word;'un dezavantajı, metnin akışını bozacak şekilde div'in kenarındaki kısa sözcükleri de kırmasıdır. Kısa sözlerin, oldukları gibi kalmasını ve sadece uzun kelimeleri kırmasını istiyorum. Bunu uygulamak mümkün mü? Diğer web siteleri nasıl işler?

+0

bir div içindeki o div veya p etiketini koyarak konusunda o vermeye ne bir marj içinde olan belirli bir etiket? – Touch

+0

Bu, "break-word" ile büyük bir hata veya sınırlama gibi görünüyor. JavaScript veya jQuery bir seçenek midir? Kabın genişliğinden daha uzun olabilecek sözcükleri tanımlayabilir ve bunları 'break-word' kelimesine uygulanan bir span etiketine sarabilirsiniz. Bunu yapan mevcut bir jQuery eklentisi olup olmadığından emin değil. –

cevap

8

o da doğru değil div

kenarında olan kısa sözler ... word-wrap: break-word; bunu yapmamalı kırar.
Belki de bunu, tüm tarayıcılarda çalışmayan word-break: break-all; özelliği ile karıştırıyorsunuzdur.

bir karşılaştırma için bu jsfiddle bakınız: http://jsfiddle.net/Snu8B/3/

firefox için, hyphens özelliğini deneyebilirsin.

0

Eğer taşma ile oynayabilir "gizlemeye" kelimeleri istekli değilse: Aksi gizli

.mydiv { 
    height : youchoose; 
    width : youchoose; 
    overflow: hidden; 
} 

:

word-wrap : normal|break-word; 
normal : Break words only at allowed break points 
break-word: Allows unbreakable words to be broken 

word-break: normal|break-all|hyphenate; 
normal : Breaks non-CJK scripts according to their own rules 
break-all : Lines may break between any two characters for non-CJK scripts 
hyphenate : Words may be broken at an appropriate hyphenation point