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>