2014-10-04 78 views
2

我正在嘗試僅爲blockquotes的最後一段添加結束引號。最後一個孩子不能在我的blockquote中工作

我的CSS代碼如下:

blockquote p:last-child:after{ 
    content: close-quote; 
} 

而我的HTML是:

<blockquote> 
<p>Travel is fatal to prejudice, bigotry, and narrow-mindedness, and many of our people need it sorely on these accounts. Broad, wholesome, charitable views of men and things cannot be acquired by vegetating in one little corner of the earth all one's lifetime.</p> 
<p>Here is second paragraph</p> 
</blockquote> 

不知何故,這是行不通的。我回顧了w3schools上的最後一個孩子的規範,似乎都是正確的。

下面是實際的網頁:http://www.aspenwebsites.com/lothlorien/layouts-typography/

你能請告知我在做什麼錯。謝謝。也被用於open-quote

回答

2

close-quote只能用。例如,你必須做的:

blockquote p:last-child:before{ 
    content: open-quote; 
} 

blockquote p:last-child:after{ 
    content: close-quote; 
} 

如果你絕對要強制關閉報價,你可以使用:

blockquote p:last-child:after{ 
    content: "」"; 
} 

然而,在您的網站本身,你實際上是在使用open-quote和它的:last-child選擇多數民衆贊成失敗是由於您的<blockquote><footer>標籤作爲其最後一個孩子(這是不是在您發佈的例子。)你應該解決這個問題通過使用:last-of-type選擇。

blockquote p:last-of-type:after{ 
    content: close-quote; 
} 

Demo JSFiddle

+0

對不起,我從代碼示例刪除

上面我也認爲這並不重要,並使代碼看起來不那麼笨重。 :) ... 我的錯。 非常感謝你爲我澄清最後一個孩子的使用。我認爲它和最後一個類型的工作方式完全相同,我不知道最後一個類型。 – hanazair 2014-10-05 14:24:57

1

你已經張貼在問題的代碼從代碼我可以在網頁中看到不同的...

其實它並沒有因爲在你的web的工作頁<blockquote>中的最後一個孩子根本不是<p>(它是一個<footer>元素)。

:last-child選擇目標只有最後一個子元素和您的規則p:last-child因爲<blockquote>元素將被忽略沒有最後的孩子,是<p>了。

如果你不想改變你的HTML,你應該使用這個selectro代替:

blockquote p:last-of-type:after{content: close-quote;} 
+0

非常感謝。事實證明,我對最後一個孩子選擇器有一個完全不正確的理解。 – hanazair 2014-10-05 14:26:35

相關問題