2015-09-22 46 views
0

如果我有一個很長的字符串(如URL)瀏覽器將在一些字符如-中打破它,我可以指定字符串應該打破的其他字符?CSS屬性指定在哪些字符上可以打破字符串

例如:

https://www.this-is-my-url.org/upload_dir/2015/01/foo_bar_faq.pdf 

具有每行40個字符,只足夠的空間在框中它會打破這樣的:

         | <- this is 40 chars mark 
https://www.this-is-my- 
url.org/upload_dir/2015/01/foo_bar_faq.pdf 

和最後一行,甚至會導致溢出,因爲有不是「易碎的字符」。我正在尋找像一個CSS屬性:

p.url { 
    word-break-chars: "_/."; 
} 

所以URL可以在_/.斷裂,它看起來更像是:

         | 
https://www.this-is-my-url.org/upload_ 
dir/2015/01/foo_bar_faq.pdf 

而且word-break: break-all;不是一個選項我!它看起來非常糟糕:

         | 
https://www.this-is-my-url.org/upload_di 
r/2015/01/foo_bar_faq.pdf 
+2

有沒有這樣的屬性。 –

+0

好的,還有其他方法嗎?也許JS? – Sergej

+1

你是否試圖尋找一個字符,並在這個位置拆分字符串?這是一個JavaScript解決方案。 – JavaForAndroid

回答

0

由於JavaForAndroid「的評論我計算出這個jQuery的解決方案:

$(document).ready(
    $('.download a').each(function(){ 
     var newText = $(this).text().replace('_', '_\u200B') 
       .replace('/', '/\u200B') 
       .replace('.', '.\u200B'); 

     $(this).text(newText); 
    }) 
); 

那裏\u200B是「零寬度空間」的Unicode。

的HTML看起來像:

<div class="download"> 
    <a href="https://www.this-is-my-url.org/upload_dir/2015/01/foo_bar_faq.pdf"> 
     https://www.this-is-my-url.org/upload_dir/2015/01/foo_bar_faq.pdf 
    </a> 
    <a href="https://www.this-is-my-url.org/upload_dir/2014/11/foo_bar.pdf"> 
     https://www.this-is-my-url.org/upload_dir/2014/11/foo_bar.pdf 
    </a> 
</div> 
1

也許你可以使用text-overflow: clip;

p{ 
 
    white-space: nowrap; 
 
    width: 12em; 
 
    overflow-x: auto; 
 
    text-overflow: clip; 
 
    border: 1px solid #000000; 
 
}
<p title="https://www.this-is-my- 
 
url.org/upload_dir/2015/01/foo_bar_faq.pdf">https://www.this-is-my- 
 
url.org/upload_dir/2015/01/foo_bar_faq.pdf</p>

+0

我想顯示整個字符串,而不僅僅是一個部分... – Sergej

+0

我編輯了我的答案@Sergej –

+0

我想我會做它像@JavaForAndroid建議它與JS – Sergej