现在我有一个段落,我想将整个第一行大写。我已将第一段设置为 ID“firstp”并尝试:
#firstp::first-line {
text-transform: uppercase;
}
我已经尝试过了,text-transform: capitalize
但这也不起作用。这很奇怪,因为我已经设法使用#firstp:first-letter
.
现在我有一个段落,我想将整个第一行大写。我已将第一段设置为 ID“firstp”并尝试:
#firstp::first-line {
text-transform: uppercase;
}
我已经尝试过了,text-transform: capitalize
但这也不起作用。这很奇怪,因为我已经设法使用#firstp:first-letter
.
text-transform
on:first-line
现在真的有问题,请参阅此处的参考http://reference.sitepoint.com/css/text-transform
您可以使用这个名为linify https://github.com/octopi/Linify的 jquery 插件来选择第一行,然后应用text-transform: uppercase
问候,
我认为 Chrome 的 ":first-line" 有问题。尝试删除它并在此页面上使用 james31rock 的语法,除了在他的示例中 CSS 应该是“#firstp{...”以反映他的 HTML 中的 ID 而不是“.makeupper”。
为了实现这一点,您必须在正确的语法中使用以下伪元素。例子:
HTML部分:
<selection id="Welcome">
<p>Some text</p>
</section>
CSS 表:
#Welcome p:first-of-type:first-line {
text-transform: uppercase;
}
我希望这有帮助。抱歉迟到了。我想,迟到总比没有好!
您可能想使用:
font-variant: small-caps;
我认为它看起来更好,并且在所有主要浏览器中都受支持。
更多信息
可能还有其他方法...
如果您在段落中有两个带有文本的跨度,其中一个跨度将位置设置为段落的左上角,因此这两个跨度将重叠。现在将上部跨度的高度设置为大约line-height
文本的高度并overflow
隐藏,这样只有跨度的第一行可见。在上部跨度上设置text-transform
为大写,并且你的第一行是大写的。
此解决方案的缺点是,大写文本更宽,因此下一行可能会丢失单词。您可以通过使用固定宽度字体来解决此问题,或者尝试letter-spacing
在两个跨度上进行设置,以便大写和小写文本的宽度相同。
这是 jsFiddle,虽然有时当您更改窗口大小时它并不理想,但它可能就足够了。
在 Chrome 中,这两种方法似乎都不起作用。在即文本转换作品中。我没有 Firefox 来测试。
http://jsfiddle.net/vJSeq/4/ - 使用文本装饰
http://jsfiddle.net/vJSeq/3/ - 使用文本转换
您可以看到选择器是正确的,因为它被突出显示。
我的建议是使用一些东西来分隔你想要突出显示的文本,方法是在段落内创建一个 span 标签并为其分配一个类
<p id="firstp">to stop the degradation of the planet's natural environment and to build a future in <span class="makeupper">which humans live in harmony with nature, by; conserving</span> the world's biological diversity, ensuring that the use of renewable natural resources is sustainable, and promoting the reduction of pollution and wasteful consumption.</p>
和CSS
.makeupper
{
text-transform: uppercase;
}