句子中第一个单词的第一个字母为大写

时间:2017-12-10 13:20:22

标签: javascript html css

我正在使用style="text-transform:capitalize"所以将单词的第一个字母设为大写。 但现在我面临的问题是每个单词的每个第一个字母都转换为大写。如何防止这种情况?

因此helle new world变为Hello new world

原始代码:

<input type="text" class="form-control" id="bedrijfsnaam" name="bedrijfsnaam" value="" style="text-transform:capitalize">

6 个答案:

答案 0 :(得分:2)

不确定纯CSS解决方案,但这个简单的js可以帮助:

<input type="text" class="form-control" id="bedrijfsnaam" name="bedrijfsnaam" value="">

field=document.getElementById('bedrijfsnaam');

field.onkeyup = function(){
str=this.value;
this.value=str[0].toUpperCase()+str.slice(1,str.length);

};

段:

&#13;
&#13;
field=document.getElementById('bedrijfsnaam');

field.onkeyup = function(){
str=this.value;
this.value=str[0].toUpperCase()+str.slice(1,str.length);

};
&#13;
<input type="text" class="form-control" id="bedrijfsnaam" name="bedrijfsnaam" value="">
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以使用伪元素:first-letter

来大写#bedrijfsnaam元素的第一个字母
 #bedrijfsnaam:first-letter{
      text-transform: capitalize; 
      }

答案 2 :(得分:0)

你可以试试这个

#bedrijfsnaam {
  text-transform: lowercase;
}

#bedrijfsnaam:first-letter {
    text-transform: uppercase;
}

答案 3 :(得分:0)

<!DOCTYPE html>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

        <script>
        $(document).ready(function(){
            $('input').keypress(function(){
                var $this = $(this),
                val = $this.val();
                val = val.substr(0, 1).toUpperCase() + val.substr(1);
                $this.val(val);
            });
        });

        </script>

    </head>

    <body>

        <input type='text' name='name' class='name' placeholder='Enter your name here'/>

    </body>
</html>

答案 4 :(得分:0)

#bedrijfsnaam::first-letter,
#bedrijfsnaam:first-letter {
    text-transform: uppercase;
}

<强>解释

  • 旧浏览器无法理解::first-letter(带有2个双冒号),但可以理解:first-letter(带有1个双冒号)。所以上面的代码应该适用于大多数浏览器。
  • 我们无法将::first-letter直接应用于HTML元素的样式,因为它需要状态::first-letter

答案 5 :(得分:0)

selector::first-letter:{
text-transform: uppercase
}

::first-letter CSS伪元素将样式应用于块级元素第一行的第一个字母,但仅在没有其他内容(例如图像或内联表)之前。 Style First Letter