【发布时间】:2017-06-20 04:53:00
【问题描述】:
是否可以使用 CSS 仅将全大写单词的首字母大写?
所以把“TESTING”改成“Testing”?
<span class = "capitalize">TESTING</span>
css 属性 text-transform: capitalize 不起作用(将第一个字母大写,但忽略其余部分)。
【问题讨论】:
是否可以使用 CSS 仅将全大写单词的首字母大写?
所以把“TESTING”改成“Testing”?
<span class = "capitalize">TESTING</span>
css 属性 text-transform: capitalize 不起作用(将第一个字母大写,但忽略其余部分)。
【问题讨论】:
是的,仅使用 CSS 即可,方法如下:
.capitalize {
text-transform: lowercase;
display: inline-block;
}
.capitalize:first-letter {
text-transform: uppercase
}
<span class = "capitalize">TESTING</span>
你会注意到我添加了
display:inline-block,这是因为:"第一行仅在块容器框中有意义,因此 ::first-letter 伪元素仅对显示值为 block、inline-block、table-cell、list- 的元素有效项目或表格标题。” source
【讨论】:
CSS:
<style>
p.capitaliseFirstLetterOnly {
text-transform: lowercase;
}
p.capitaliseFirstLetterOnly::first-letter{
text-transform: uppercase;
}
</style>
HTML:
<p class="capitaliseFirstLetterOnly">TESTING.</p>
【讨论】:
你可以按如下方式使用jquery:
<span class="capitalize">MYTEXT</span>
<script>
$(document).ready(function () {
var txt = $(".capitalize").text().toLowerCase();
txt = txt.toLowerCase().replace(/\b[a-z]/g, function (letter) {
return letter.toUpperCase();
});
$(".capitalize").text(txt);
});
</script>
参考:
【讨论】:
你可以尝试用Js来识别它。
【讨论】:
.capitalize::first-letter {
text-transform: capitalize;
}
https://jsfiddle.net/5wbe2ugq/
没有办法在 CSS 中查看第一个字母是否大写,但您可以通过以下方式确定:
.capitalize::first-letter {
text-transform: capitalize;
}
.capitalize {
text-transform: lowercase;
}
【讨论】:
<style>
.capitalize{
text-transform:lowercase;
display: inline-block;
}
.capitalize::first-letter {
text-transform:capitalize;
}
</style>
<span class = "capitalize">TESTING</span>
确保添加 display:inline-block 因为元素 span 与 p,div,tables 等不同的是不能与 :first-letter 一起使用。如果你正在使用默认具有块的元素,那么您不需要像下面的代码那样放置 display:inline-block。
<style>
.capitalize{
text-transform:lowercase;
}
.capitalize::first-letter {
text-transform:capitalize;
}
</style>
<div class = "capitalize">TESTING</div>
干杯,
【讨论】: