我正在尝试仅在块引号的最后一段添加结束引号。
我的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/
你可以告诉我我做错了什么。谢谢。答案 0 :(得分:2)
close-quote
只能在使用open-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;
}
答案 1 :(得分:1)
您在问题中发布的代码与我在您的网页中看到的代码不同...
实际上它并不起作用,因为在您的网页中<blockquote>
中的最后一个孩子根本不是<p>
(它是<footer>
元素)。
:last-child
选择器仅定位到最后一个子元素,并忽略您的规则p:last-child
,因为在<blockquote>
元素中没有最后一个子元素是{{ 1}}。
如果你不想改变你的html,你应该使用这个selectro:
<p>