Я хочу, чтобы стиль каретки сфокусировал <input type='text'/>
. В частности, цвет и толщина.
Стилизация ввода текста
Ответ 1
Если вы используете браузер webkit, вы можете изменить цвет каретки, следуя следующему фрагменту CSS. Я не уверен, возможно ли изменить формат с помощью CSS.
input,
textarea {
font-size: 24px;
padding: 10px;
color: red;
text-shadow: 0px 0px 0px #000;
-webkit-text-fill-color: transparent;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
color: #ccc;
text-shadow: none;
-webkit-text-fill-color: initial;
}
Вот пример: http://jsfiddle.net/8k1k0awb/
Ответ 2
"Карет" - это слово, которое вы ищете. Я действительно верю, что это часть дизайна браузеров, а не в пределах css.
Тем не менее, вот интересная запись о симуляции изменения каретки с использованием Javascript и CSS http://www.dynamicdrive.com/forums/showthread.php?t=17450 Мне кажется, немного взломано, но, вероятно, единственный способ выполнить задачу. Основной темой статьи является:
У нас будет обычная текстовая область где-то на экране вне поля зрения зрителя, и когда пользователь нажимает на наш "поддельный терминал", мы сосредоточимся на текстовом поле, и когда пользователь начнет печатать, мы просто добавим данные, введенные в текстовое поле к нашему "терминалу", и все.
ЗДЕСЬ - демонстрация в действии
2018 обновление
Существует новый caret-color
css-свойства, который применяется к каретке input
или contenteditable
области. Поддержка растет, но не 100%, и это влияет только на цвет, а не на ширину или другие типы внешнего вида.
input{
caret-color: rgb(0, 200, 0);
}
<input type="text"/>
Ответ 3
В CSS3 теперь есть собственный способ сделать это без каких-либо хаков, предложенных в существующих ответах: свойство caret-color
.
Есть много вещей, которые вы можете сделать с кареткой, как показано ниже. Он может даже быть анимированным.
/* Keyword value */
caret-color: auto;
color: transparent;
color: currentColor;
/* <color> values */
caret-color: red;
caret-color: #5729e9;
caret-color: rgb(0, 200, 0);
caret-color: hsla(228, 4%, 24%, 0.8);
Свойство caret-color
поддерживается браузером Firefox 55 и Chrome 60. Поддержка также доступна в техническом просмотре Safari и в Opera (но еще не в Edge). Вы можете просмотреть текущие таблицы поддержки здесь.
Ответ 4
Вот некоторые поставщики, которых вы могли бы искать
::-webkit-input-placeholder {color: tomato}
::-moz-placeholder {color: tomato;} /* Firefox 19+ */
:-moz-placeholder {color: tomato;} /* Firefox 18- */
:-ms-input-placeholder {color: tomato;}
Вы также можете создавать различные состояния, такие как фокус
:focus::-webkit-input-placeholder {color: transparent}
:focus::-moz-placeholder {color: transparent}
:focus:-moz-placeholder {color: transparent}
:focus:-ms-input-placeholder {color: transparent}
Вы также можете выполнять определенные переходы на нем, например
::-VENDOR-input-placeholder {text-indent: 0px; transition: text-indent 0.3s ease;}
:focus::-VENDOR-input-placeholder {text-indent: 500px; transition: text-indent 0.3s ease;}
Ответ 5
Достаточно использовать свойство цвета наряду с -webkit-text-fill-color следующим образом:
input {
color: red; /* color of caret */
-webkit-text-fill-color: black; /* color of text */
}
<input type="text"/>