2013-12-21 38 views
0

人,CSS選擇單行文本 - 給他們不同的顏色

我在段落一些文字:

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus sit amet nulla tellus. Suspendisse sed viverra turpis. Duis mollis, dolor vitae aliquam interdum, mauris mi ornare diam</p> 

將顯示不可預知的寬度的div中,但已知的高度,所以會有幾行文字。其餘的文本將被剪切(通過簡單的溢出:隱藏)。

問題是,我需要給予渲染文本的每一行不同的顏色。這怎麼能用CSS3/HTML5實現呢?

我正在考慮CSS計數器,但它們的值不能用作參數(在「內容」屬性之外),認爲它在這裏很少用。

我想我需要類似一線的僞類,但具有獲得第n行的可能性。

我知道這可以通過JS在幾行代碼中完成,但我不能在那裏使用它。

感謝您的幫助!

+1

根本不可能atm。 –

+0

您只能區分第一行,但其他行將具有相同的階梯。 –

回答

2

不幸的是,純CSS無法實現。

我想出了一個辦法,以實現與多個<p>標籤都有效的要求:
http://jsfiddle.net/QM52C/1/

但有一個單一的<p> -Tag,這是根本不可能爲當前日期。

0

我試着用僞標籤來聰明,但它沒有像預期的那樣變成結果。也許如果你能以某種方式獲得:之前和之後:文本片段與原始文本對齊,它會工作。

FIDDLE

#container p:before { 
color: red; 
display:inline !important; 
content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.                                  Suspendisse sed viverra turpis.                                                                 "; 
} 
#container p { 
color:white; 
font-family:monospace; 
} 
#container p:after { 
color: green; 
content: "                                                         Phasellus sit amet nulla tellus.                                 Duis mollis, dolor vitae aliquam interdum, mauris mi ornare diam"; 
} 

否則,我真的不認爲這是可能沒有的JavaScript。