How To Keep Input Placeholder Visible When User Is Typing
I have a new and intriguing requirement. Instead of the placeholder disappearing when the user starts typing, it should remain visible and shift over to the right hand side of the
Solution 1:
This is not possible with a standard HTML placeholder due to native behavior of it disappearing. However, you might want to consider adding an element to pose as the placeholder, and add a CSS selector to sense when the user starts typing (:placeholder-shown
) and move it right.
Here's how it might be done:
.wrapper {
position: relative;
font-family: sans-serif;
font-size: 14px;
width: max-content;
}
.placeholder {
position: absolute;
right: 4px;
top: 2px;
pointer-events: none;
opacity: .5;
}
.input:placeholder-shown + .placeholder {
/* if real placeholder is shown - hide fake placeholder */
opacity: 0;
}
<div class="wrapper">
<input type="text" class="input" placeholder="Test">
<div class="placeholder">Test</div>
</div>
Solution 2:
I am not sure if keeping placeholder visible on typing is possible or not but you can shift it to right by using this css:
CSS
.example:focus::-webkit-input-placeholder {
text-align: right;
opacity: 1;
}
You can use transition
to make it align smoothly.
But one solution to your problem is to write the text in placeholder into a span and translate it to right when user starts typing (by using JS)
Post a Comment for "How To Keep Input Placeholder Visible When User Is Typing"