Я создаю материал, подобный текстовому полю, и он работает, за исключением случаев, когда я отключу поле ввода. Когда поле фокусируется, метка поднимается над курсором, если в текстовом поле есть какой-либо вход, он должен оставаться выше курсора. Когда я отключу текстовое поле, метка вернется в исходное положение, даже если в поле есть текст (See the fiddle).Переход меток отменяется, когда текстовое поле отключается
Вот что я делаю:
.txt-group label {
font-size: 18px;
font-weight: normal;
position: absolute;
pointer-events: none;
left: 10px;
top: 10px;
transition: all 0.2s ease-in-out;
color: #999999;
}
.txt-group input:focus ~ label,
.txt-group input:valid ~ label,
.txt-group input:valid:disabled ~ label {
top: -8px;
font-size: 14px;
}
Просьбы предоставить всю соответствующую коду в [mcve] в самом вопросе, а не на стороннем сайте. –
Для этого решения может понадобиться JavaScript. Насколько я знаю, ': valid' - единственный способ тестирования в CSS, если' input' имеет контент, но он перестает проходить, если у элемента есть атрибуты 'readonly' или' disabled'. –