<p>THIS IS SOMETEXT</p>

Я хочу, чтобы это выглядело как This is sometext, в котором первая буква абзаца является прописной.
Возможно ли это в CSS?

Изменить: весь мой текст заглавными буквами.

19
user2736812 21 Мар 2014 в 22:13
Портфолио , все работает нормально ..
 – 
Suresh Kerai
28 Дек 2017 в 10:38

3 ответа

Лучший ответ

Вы можете использовать text-transform, чтобы сделать каждое слово абзаца заглавным, как показано ниже:

p { text-transform: capitalize; }

Он поддерживается в IE4 + . Пример здесь .

16.5. Использование заглавных букв: свойство text-transform

Это свойство контролирует эффект использования заглавных букв в тексте элемента.

capitalize Переводит первый символ каждого слова в верхний регистр; Другие персонажи не затронуты.


Делаем каждое слово текста в верхнем регистре заглавными:

При этом предположении было следующее:

Я хочу, чтобы это выглядело так: This Is Sometext

Вы должны заключить каждое слово в элемент оболочки, например <span>, и использовать :first-letter псевдоэлемент, чтобы преобразовать первую букву каждого слова:

<p>
  <span>THIS</span> <span>IS</span> <span>SOMETEXT</span>
</p>
p { text-transform: lowercase; }    /* Make all letters lowercase */
p > span { display: inline-block; } /* :first-letter is applicable to blocks */

p > span:first-letter {
  text-transform: uppercase;        /* Make the first letters uppercase      */
}

Пример здесь .

В качестве альтернативы вы можете использовать JavaScript, чтобы обернуть каждое слово элементом <span>:

var words = $("p").text().split(" ");
$("p").empty();

$.each(words, function(i, v) {
    $("p").append($("<span>").text(v)).append(" ");
});

Пример здесь .


Делаем первую букву заглавного текста заглавной:

Кажется, это то, что вы действительно ищете, это довольно просто, все, что вам нужно сделать, это сделать все слова строчными, а затем преобразовать первую букву абзаца в верхний регистр:

p { text-transform: lowercase; }

p:first-letter {
  text-transform: uppercase;
}

Пример здесь .

43
Hashem Qolami 21 Мар 2014 в 23:14
Но весь мой текст заглавными буквами
 – 
user2736812
21 Мар 2014 в 22:18
Похоже, вы неправильно поняли вопрос. Я думаю, OP хочет преобразовать THIS IS SOMETEXT в This is Sometext
 – 
Felix
21 Мар 2014 в 22:20
1
Не уверен, что OP хочет This is Sometext или This is sometext, поскольку он предоставил решение ниже. Тем не менее, +1 за ваши усилия :)
 – 
Felix
21 Мар 2014 в 22:50
1
Да, «ответ» ОП предоставил другое решение, которое задал вопрос LOL.
 – 
Charlie74
21 Мар 2014 в 23:17
2
Используйте display: inline-block, если пытаетесь сделать это с диапазоном
 – 
user1000952
28 Авг 2015 в 07:38

Попробуй это :

p {
  text-transform: lowercase;
}

p:first-letter {
  text-transform: uppercase;
}

Заметка

Родитель текста должен иметь стиль block или inline-block, иначе он не будет работать.

19
Raphaël Balet 5 Янв 2022 в 16:53
5
Для всех, кто хочет использовать псевдоэлемент: first-letter, учтите, что родительский элемент текста должен иметь блок стиля или встроенный блок, мой текст находился в элементе span, и мне было интересно, почему это не работает! теперь ты знаешь ;)
 – 
medBouzid
30 Июн 2017 в 03:18

Я понял

p {
    text-transform: lowercase;
}

p:first-letter {
    text-transform: uppercase;
}
3
user2736812 21 Мар 2014 в 22:26
Это был точный ответ, который @Tamil Selvan предоставил и удалил из-за вашего комментария.
 – 
Buhake Sindi
17 Фев 2015 в 09:06