#javascript #html #jquery #css
#javascript #HTML #jquery #css
Вопрос:
Мне нужно добавить второй текст (обязательно) во входной текст, другой стиль / положение заполнителя. Но когда пользователь нажимает, он должен исчезнуть, как заполнитель. Это возможно?
<style>
.inputDataText{
padding:13px;
border-width:1px;
border-radius:9px;
border-style:solid;
border-color:#d9d9d9;
width:100%;
}
</style>
<input id="demoTextBox" type="text" value="" class="inputDataText" placeholder="NAME">
Поместите пример изображения здесь:
Комментарии:
1. Если вы указали фиксированную ширину для элемента ввода, вы можете добавить пробелы в существующий текст-заполнитель, чтобы сдвинуть часть текста вправо. Эти пробелы сохраняются при визуализации текста
2. взгляните на: codepen.io/Takumari85/pen/RaYwpJ «Ввод с эффектами надписей» внизу страницы. Это возможно, да, но вам, возможно, придется разобраться с этим самостоятельно.
3. Кроме того, обычно используется
*
рядом с элементом ввода и примечанием над или под всеми из них, в котором говорится, что эти элементы являются обязательными.4. Почему бы просто не использовать «Имя (обязательно)» в качестве заполнителя?
Ответ №1:
попробуйте
.inputDataText{
padding:13px;
border-width:1px;
border-radius:9px;
border-style:solid;
border-color:#d9d9d9;
width:100%;
box-sizing: border-box;
}
.inputwrapper{
position: relative;
}
.inputwrapper::after {
content: attr(data-required);
position: absolute;
right: 8px;
top: 50%;
font-size: 15px;
transform: translateY(-50%);
color: #ccc;
}
<div class="inputwrapper" data-required="(required)">
<input id="demoTextBox" type="text" value="" class="inputDataText" placeholder="NAME">
</div>
Комментарии:
1. Я тоже собирался ответить на этот вопрос, но @Lalji был быстрее :). Однако вот ссылка на мою реализацию, которая очень похожа: codepen.io/zvona/pen/XWdGJNK
Ответ №2:
Это можно сделать с :empty
помощью псевдоселектора
.inputDataText:empty::after {
// show something
}
.inputDataText::after {
// hide something
}
You will have to play with the exact CSS, but that's the gist