1.0 KiB
1.0 KiB
title, tags
| title | tags |
|---|---|
| Input with Prefix | visual,interactivity,intermediate |
Creates an input with a visual, non-editable prefix.
- Create a parent element, containing the prefix and the input
- Remove border and outline from the input, and apply it to the parent element, to give it the appearance of an input box
- Use
:focus-withinselector to change the parent element style accordingly
<div class="input-box">
<span class="prefix">R$</span>
<input />
</div>
.input-box {
display: flex;
align-items: center;
max-width: 300px;
border: 1px #A0AEC0 solid;
border-radius: 4px;
padding-left: 0.5rem;
overflow: hidden;
font-family: sans-serif;
transition: border-color 0.5s ease;
}
.input-box:focus-within, .input-box:hover {
border-color: #38B2AC;
}
.input-box .prefix {
font-weight: 300;
font-size: 14px;
color: #A0AEC0;
}
.input-box:focus-within .prefix, .input-box:hover .prefix {
color: #38B2AC;
}
.input-box input {
flex-grow: 1;
border: none;
outline: none;
padding: 0.5rem;
}