CSS can convert the first letter of each word, but not the first letter of each sentence. You probably need to use Javascript here:
<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)
{
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>
source
share