Html CSS句子格
有没有什么方法可以格式化一个“句子案例”?e、 g.“这是第1句。这是第2句。这是第3句。更改为->这是第1句。这是第2句。这是第3句。您可以使用cssHtml CSS句子格,html,css,Html,Css,有没有什么方法可以格式化一个“句子案例”?e、 g.“这是第1句。这是第2句。这是第3句。更改为->这是第1句。这是第2句。这是第3句。您可以使用css文本转换:大写;属性css可以转换每个单词的第一个字母,但不能转换每个句子的第一个字母。您可能需要在此处使用Javascript: <html> <head> <script language="javascript"> <!-- function fixCapitalsText (text)
文本转换:大写;
属性css可以转换每个单词的第一个字母,但不能转换每个句子的第一个字母。您可能需要在此处使用Javascript:
<html>
<head>
<script language="javascript">
<!--
function fixCapitalsText (text)
{
result = "";
sentenceStart = true;
for (i = 0; i < text.length; i++)
{
ch = text.charAt (i);
if (sentenceStart && ch.match (/^\S$/))
{
ch = ch.toUpperCase ();
sentenceStart = false;
}
else
{
ch = ch.toLowerCase ();
}
if (ch.match (/^[.!?]$/))
{
sentenceStart = true;
}
result += ch;
}
return result;
}
function fixCapitalsNode (node)
{
if (node.nodeType == 3 || node.nodeType == 4) // Text or CDATA
{
node.textContent = fixCapitalsText (node.textContent);
}
if (node.nodeType == 1)
for (i = 0; i < node.childNodes.length; i++)
fixCapitalsNode (node.childNodes.item (i));
}
// -->
</script>
</head>
<body onload="fixCapitalsNode (document.body);">
THIS IS FIRST SENTENCE.
THIS IS SECOND SENTENCE.
This Is Third Sentence.
</body>
<html>
这是第一句话。
这是第二句话。
这是第三句话。
只有三个CSS属性
text-transform: capitalize;
text-transform: lowercase;
text-transform: uppercase;
它们都不能按您的要求输出。您可以使用小写文本转换,并使用JavaScript将每个句子的第一个单词大写
您可以使用
id/class:first-letter
属性来实现这一点
摘自上述重复问题:
p {
text-transform: lowercase;
}
p:first-letter {
text-transform: uppercase;
}
正确地编排你的问题的格式,这样我们就可以得到你想要的。看这个:这些句子是用户输入的吗?如果它们包含名称、首字母缩写或其他应该在句子中间大写的单词怎么办?似乎任何一种解决方案都会盲目地将每个句子中除了第一个字母以外的所有内容小写,在某些情况下都会有问题将所有第一个字母大写
大写将所有单词大写文本转换:大写;
使每个单词大写。我想要的是句子中的每个第一个字母都变成大写,就像我的示例一样。此外,大写只修改每个单词的第一个字母,而不是后面的字母。因此,如果世界上的其他字母首先,d是大写的,它们将保持大写。Javascript无法覆盖文本转换,因此您需要使用文本转换:none
@JanDvorak我想说的是使用CSS小写文本转换。然后获取该元素的innerHTML,并使用JS将句子的每个单词大写。等等!给出一个示例:dwwhen apply Javascript,文本保持CSS转换。应用Javascript后需要禁用转换。而且,Javascript不会看到转换的效果。@JanDvorak刚刚意识到这一点。使用JS.toLowerCase()
方法。这个问题是什么?如果你指的是::first letter
伪元素,它以元素中的第一个字母为目标。我也尝试了这个::first letter
但它不会大写第二个句子。它变成这样。**这是句子1。这是句子2**我是什么**这是句子1。这是entence 2**好的,下一个可能的解决方案是对每个句子的第一个字符使用另一个元素,以便对其进行更多的控制,然后对其余内容使用文本转换格式:小写,因为我们真的不知道使用的是哪种元素。假设它在列表项中,您可以应用第一个字母伪元素t到每个li
元素。@新手,你也需要将每个句子包装在一个单独的元素中。我建议使用span
。这里的警告是,它必须用于块级元素。有关详细信息,请参阅本文()。它应该是var result=”“
而不是result=”“
。嗯,+1.这很酷,对我来说很好!谢谢。但是你的代码很长。我们可以缩短它吗?我可以吗?。。谢谢@AspiringAqib@Newbie给你:哈哈哈:P@Newbie嘿,伙计,对不起,我没有听到这个评论。所以,我无法回复你。但还是要用这个: