codepens/input-not-placeholder-shown/dist/style.css

74 lines
1.3 KiB
CSS
Raw Permalink Normal View History

2023-10-06 23:12:53 +02:00
html,
body {
height: 100%;
}
body {
display: grid;
font-family: Avenir;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
}
* {
box-sizing: border-box;
}
.inp {
position: relative;
margin: auto;
width: 100%;
max-width: 280px;
}
.inp .label {
position: absolute;
top: 16px;
left: 0;
font-size: 16px;
color: #9098a9;
font-weight: 500;
transform-origin: 0 0;
transition: all 0.2s ease;
}
.inp .border {
position: absolute;
bottom: 0;
left: 0;
height: 2px;
width: 100%;
background: #07f;
transform: scaleX(0);
transform-origin: 0 0;
transition: all 0.15s ease;
}
.inp input {
-webkit-appearance: none;
width: 100%;
border: 0;
font-family: inherit;
padding: 12px 0;
height: 48px;
font-size: 16px;
font-weight: 500;
border-bottom: 2px solid #c8ccd4;
background: none;
border-radius: 0;
color: #223254;
transition: all 0.15s ease;
}
.inp input:hover {
background: rgba(34,50,84,0.03);
}
.inp input:not(:placeholder-shown) + span {
color: #5a667f;
transform: translateY(-26px) scale(0.75);
}
.inp input:focus {
background: none;
outline: none;
}
.inp input:focus + span {
color: #07f;
transform: translateY(-26px) scale(0.75);
}
.inp input:focus + span + .border {
transform: scaleX(1);
}