2013-04-05 17 views
29

word-wrap: break-word; CSS stili ile her zaman görünmeyen isteğe bağlı bir satır kesme karakteri istiyorum.Her zaman görünmez olan isteğe bağlı satır sonu HTML öğesi

Bazı özellikler burada verilmiştir. Amacım makul yerlerde uzun bağlantıları parçalamak. Bu karakterler başlamak için iyi bir yerdir: -, ., _, /, \. Bu Raylar özgü soru değil, ama ben şimdi kullanıyorum bazı kod paylaşmak istedim:

module ApplicationHelper 
    def with_optional_line_breaks(text) 
    text.gsub(%r{([-._/\\])}, '\1­') 
    end 
end 

İşte yukarıdaki kod ile sorun şu: ­ (bir tabloda: word-wrap: break-word;) yürürlüğe gireceği, ­, - olarak görüntülenir. -'u görmek istemiyorum; Herhangi bir karakter gösterilmeden satır sonu istiyorum.


+0

Bu durumda basit
etiketi işe yaramıyor mu? –

+0

@Christopher: '
' isteğe bağlı satır sonu değil –

+0

Bu yanıt yardımcı olabilir. Bir karakter değil, ama kullanır. http://stackoverflow.com/questions/5392853/html-css-denoting-a-preferred-place-for-a-line-break – Unrelated

cevap

47

​, sıfır genişlik alanı (ZWSP) adı verilen bir unicode karakterinin HTML öğesidir.

"HTML sayfaları, bu uzay <wbr> etiketine alternatif olarak uzun bir deyişle potansiyel bir satır kesintisi olarak kullanılabilir." - Zero-width space - Wikipedia

<wbr> etiketi de çalışır, bahsedildiği gibi Aaron's answer. Bu HTML varlığını etiket üzerinde tercih ettiğimi düşünüyorum çünkü varlık daha basit görünüyor: unicode, web tarayıcısını değil, onu işliyor.

+2

Unicode bunu işler, ancak web tarayıcılarının Unicode standardına uyması veya bu karakteri desteklemesi gerekmez. Bu zor bir sorundur, ancak genellikle ZWSP sadece eski tarayıcılarda başarısız olurken, "" da yeni tarayıcılarda gariptir; bkz. http://www.cs.tut.fi/~jkorpela/html/nobr.html –

+1

@David, Görünmez ayırıcıdan ne haber? Http://www.fileformat.info/info/unicode/char/2063/index adresine bakın.htm – Pacerier

+0

@Pacerier Bu, http://unicode.org/cldr/utility/list-unicodeset.jsp?a=[:subhead=Invisible%20operators:] bağlamında, matematiksel boşluk için tasarlanmıştır. Http://www.fileformat.info/info/unicode/char/2063/index.htm adresinden: "bitişik matematiksel sembollerin bir liste oluşturduğunu belirten bitişik operatör, ör., Birden fazla endeks arasında görünür bir virgül kullanılmadığında". –

4

<wbr> o bu konuda ne istediğinizi ama bunun için destek gibi görünüyor ve &shy; yapar gibi görünüyor very inconsistent olduğunu. Ne yazık ki, istediğiniz şeyi yapmak için özellikle iyi bir yol olmayabilir.

+2

Teşekkürler. Bir not: tutarsız olan tarayıcı desteğinin 2008'den geldiğini iddia ediyor. Sistemimde, modern tarayıcılar (Firefox, Safari, Chrome) ' 'ile doğru olanı yapıyor. Diğer kelime/satır kesme yöntemleri için de çalışmasını beklerim. [Soft hyphen (SHY) - zor bir problemde kapsamlı bir muhasebe bulunabilir mi?] (Http://www.cs.tut.fi/~jkorpela/shy.html) –

+0

Destekle ilgili güzel bir genel bakış sunan bir cevap. tif/tireleme/ayırma teknikleri: https://stackoverflow.com/a/28672471/3439786 Ayrıca bir _caniuse_ sayfası da var: http://caniuse.com/#feat=wbr-element – Dennis98

+0

Tek avantaj sıfır genişlikli alanın üzerinde 'unun Unicode öğesi, kopmak istediğiniz dizenin bir tarayıcıdan kopyalanabilecek bir URL olması (bağlantı olmayan bir web sayfasına akademik referans verirken olduğu gibi), Unicode öğesi kopyalanır (en azından MacOS'ta) ve sonuçta ortaya çıkan URL bir tarayıcıda doğru görünür ancak buna erişmeye çalışırken kırılır. '' un bu sorunu yok. – theJBRU