如何在每种情况下仅使用CSS来首字母大写

Kab*_*bir 15 css cpu-word capitalization

我想首先使用首字母大写,而其他应该使用CSS 小

字符串是:

SOMETHING BETTER 
sOMETHING bETTER
Something better
Run Code Online (Sandbox Code Playgroud)

但结果应该是

Something Better
Run Code Online (Sandbox Code Playgroud)

这可能使用CSS吗?资本化我正在使用的第一封信

text-transform: capitalize;
Run Code Online (Sandbox Code Playgroud)

但在每种情况下都无法利用资本."我想使用CSS,因为在我的应用程序中,它已经编写了每个硬编码的地方,但是到处都有一个类."

mzm*_*m56 37

你应该能够使用:first-letter伪元素:

.fl {
 display: inline-block;
}

.fl:first-letter {
 text-transform:uppercase;
}

<p>
 <span class="fl">something</span> <span class="fl">better</span>
</p>
Run Code Online (Sandbox Code Playgroud)

收益率:

更好的东西

  • 这是正确的,但意味着每个单词都需要包含在`span`中,这很难看 (2认同)

zur*_*fyx 7

单独使用CSS是不可能的,但您可以使用Javascript或PHP来实现.

在PHP中

ucwords()
Run Code Online (Sandbox Code Playgroud)

并在Javascript中

function toTitleCase(str){
    return str.replace(/\w\S*/g, function(txt){
        return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
}
Run Code Online (Sandbox Code Playgroud)

使用JavaScript从Convert字符串提取 到标题大小写


Nea*_*eal 6

你可以试试这个答案和一些javascript 的组合(使用jQuery)

HTML:

<div class='capitalize'>
    SOMETHING BETTER 
    SOMETHING BETTER 
    SOMETHING BETTER 
</div>
Run Code Online (Sandbox Code Playgroud)

JAVASCRIPT:

$('.capitalize').each(function(){
    var text = this.innerText;
    var words = text.split(" ");
    var spans = [];
    var _this = $(this);
    this.innerHTML = "";
    words.forEach(function(word, index){
        _this.append($('<span>', {text: word}));
    });
});
Run Code Online (Sandbox Code Playgroud)

CSS:

.capitalize {
    text-transform: lowercase;
}

.capitalize span {
    display: inline-block;
    padding-right: 1em  
}

.capitalize span:first-letter {
    text-transform: uppercase !important;
}
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/maniator/ZHhqj/