2011-04-16 34 views
113

我會想做什麼(而不是在IE明顯)是:是否有文本節點的CSS選擇器?

p:not(.list):last-child + :text { 
    margin-bottom: 10px; 
} 

這將使文本節點的餘量。 (這甚至可能嗎?)我如何獲得CSS的文本節點?

+1

你可以近似使用'::第一line',但顧名思義,它僅適用於該網絡第一行文本。 (另外,我認爲只有一些屬性可以設置) – 2014-08-06 06:19:15

回答

78

文本節點不能有邊距或任何其他樣式應用於它們,所以您需要的任何樣式應用於必須在元素中。例如,如果您希望元素中的某些文本的樣式不同,請將其包裝在spandiv中。

+41

儘管如此我仍然絕望地缺少:: before和:: after在文本節點上。 – shabunc 2013-04-08 16:31:47

+5

'我仍然絕望地錯過::之前和之後在文本節點上。他們可能不會格式化,但他們肯定會採用「內容」。 – Synetech 2015-07-06 22:12:10

+5

這是一個完全合理的問題,要問如何定位文本節點。我意識到OP特別說了「邊距」,但它們是可應用於文本節點的其他樣式,您可能希望將其應用於文本節點而不是父節點。例如,假設我想在文本下方放置邊框。將該邊框底部應用於文本節點會產生所需的結果,但將其應用於父div,會在整個div周圍創建底部邊框。不幸的是,CSS不會讓你通過添加HTML元素來定位文本節點......至少從現在開始。 – VKK 2016-05-31 04:58:01

33

您不能使用CSS定位文本節點。我和你在一起;我希望你能......但你不能:(

如果不換行文本節點的<span>like @Jacob suggests,你可以改爲給周邊元件padding,而不是margin

HTML

<p id="tehParagraph">The text node!</p> 

CSS

p#tehParagraph 
{ 
    border: 1px solid red; 
    padding-bottom: 10px; 
} 
相關問題