Да, это возможно, с <label>
помещенного за вход, используя Z-индекс и прозрачный цвет фона на <input>
. Используйте :focus
, чтобы перейти на белый фон. Используйте :valid
:invalid
, чтобы заполнитель не сиял, если текст введен. С .input:before
ваш «стиль» содержания этикетки. :first-line has sometimes some Firefox issues
. С моим Firefox для Mac он работал с этим кодом.
HTML
<label class="input"><input type="text" required="required"/></label>
CSS
.input {
color: gray;
display: block;
font-size: small;
padding-top: 3px;
position: relative;
text-indent: 5px;
}
input {
background-color: transparent;
left: 0;
position: absolute;
top: 0;
z-index: 1;
}
input:focus, input:first-line {
background-color: white;
}
.input:before {
content: "Some CSS Text";
}
input:valid { background-color:white; }
input:invalid{ background-color:transparent; }
Скриншот (хром браузер)
- без текста
- без текста и сосредоточиться
- с текстом и сосредоточиться
- с текстом в нем.
См https://jsfiddle.net/uueojg2g/1/ для тестирования.
Резюме
ли я рекомендую использовать CSS для вашей задачи? Возможно, нет, потому что вы должны использовать css только для презентации. Так что я бы всегда, чтобы попытаться получить HTML вариант с заполнителем
Как это работает с «чистым» HTML
Предпочтительный метод, и работает во всех современных браузерах:
<input type="text" name="" placeholder="Full Name"/>
Для IE9 и до , нам просто нужен javascript:
<input type="text" name="" value="Full Name" onfocus="value=''" onblur="value='Full Name'"/>
На что вы надеетесь достичь этого и какие конкретные теги вам нужны для сохранения значений по умолчанию? – masmrdrr
Да, вы можете это сделать, см. Мой ответ! – Kordi
Под «текстом по умолчанию» вы ссылаетесь на местозаполнитель? Или вы имеете в виду начальное значение входного элемента? –