我正在使用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">
答案 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);
};
段:
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;
答案 1 :(得分:0)
您可以使用伪元素:first-letter
#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