Как применить заголовок в поле ввода через css

Я использую свойство text-transform, чтобы преобразовать текст ввода в заголовок, но я не получаю точное свойство или комбинацию для этого.

Я также пробовал

text-transform: capitalize;
text-transform: lowercase;

Я пытаюсь выполнить автоматическое преобразование для этих

nIklesh raut : Niklesh Raut

NIKLESH RAUT : Niklesh Raut

Или я должен идти с Javascript.

Ответ 1

Вы можете сделать следующий путь, используя css. Это будет работать для всего слова.

input { 
  text-transform: capitalize;
}
::-webkit-input-placeholder { 
    text-transform: none;
}
:-moz-placeholder { 
    text-transform: none;
}
::-moz-placeholder { 
    text-transform: none;
}
:-ms-input-placeholder { 
    text-transform: none;
}
<input type="text" placeholder="test" />

Ответ 2

У меня была аналогичная проблема. text-transform: capitalise будет использовать только первую букву слова. Другие письма не будут затронуты.

Например:

<p>nIklesh raut</p>
<p>NIKLESH RAUT</p>
<p>niklesh RAUT</p>

p {
  text-transform: capitalize;
}

выводится как:

NIklesh Raut

NIKLESH RAUT

Niklesh RAUT

http://codepen.io/jaycrisp/pen/YwjyME

Я пробовал много вещей и не нашел способ сделать это только в CSS. Лучший вариант - заставить сервер возвращать строчную строку, тогда текстовое преобразование будет вести себя последовательно. Обратите внимание, что это также проблематично для имен. Например. Лео МакГарри будет отформатирован Лео Маккари.

Если у вас нет обратного доступа, вам нужно сначала преобразовать строку в нижний регистр в javascript.

изменить

Спектр фактически говорит следующее:

капитализировать

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

https://www.w3.org/wiki/CSS/Properties/text-transform

Ответ 3

text-align: center;
font-family: 'Signika', sans-serif;
line-height: 60px;
font-size: 40px;
position: relative;
font-weight: bold;
text-transform: uppercase;

Используйте что-то вроде этого.

Ответ 5

CSS будет влиять только на стиль текста в тексте, он не изменит базовое значение текстового поля. Это означает, что при доступе к значению с помощью JavaScript или при отправке его на ваш сервер значение будет таким, как оно было введено, а не конвертировано в верхний регистр. Вам нужно будет сделать это самостоятельно либо с помощью JS, либо со своим серверным языком.

Ответ 6

Советы. Пожалуйста, проверьте reset таблицу стилей CSS для любого переопределения для text-transform

свойство text-transform - определение и использование

Свойство text-transform управляет капитализацией текста.

Значение по умолчанию: none

Унаследовано: да

Версия: CSS1

Синтаксис JavaScript: object.style.textTransform = "uppercase"

Все браузеры полностью поддерживают это свойство.

Синтаксис CSS

text-transform: none|capitalize|uppercase|lowercase|initial|inherit;
// For DOM 
document.getElementById("myP").style.textTransform = "capitalize";

Значения свойств

нет - нет капитализации. Текст отображается как есть. Это значение по умолчанию

capitalize - преобразует первый символ каждого слова в верхний регистр

uppercase - преобразование всех символов в верхний регистр

нижний регистр - преобразование всех символов в нижний регистр

initial - присваивает этому свойству значение по умолчанию.

inherit - наследует это свойство от его родительского элемента.

Тестовый рабочий файл:

https://jsfiddle.net/tfn2k46n/