Floating Labels overlapping with pre filled inputs

Floating Labels overlapping with pre filled inputs



When the input is pre-filled with values, the value overlaps with the label.



Overlapping with input



The requirement is, when input is pre-filled with values it should not overlap the label. And if a user removes the input value and changes focus, it should have the transition effect.


input



CSS code:


.input-float
font-size:14px;
padding:10px 10px 10px 5px;
display:block;
width:100%;
border:none;
border-bottom:1px solid #757575;

.input-float:focus outline:none;

/* LABEL ======================================= */
.label-float
color:#999;
font-size:14px;
font-weight:normal;
position:absolute;
pointer-events:none;
left:5px;
top:10px;
transition:0.2s ease all;
-moz-transition:0.2s ease all;
-webkit-transition:0.2s ease all;


/* active state */
.input-float:focus ~ .label-float
top:-20px;
font-size:14px;
color:#5264AE;


/* BOTTOM BARS ================================= */
.bar position:relative; display:block; width:100%;
.bar:before, .bar:after
content:'';
height:2px;
width:0;
bottom:1px;
position:absolute;
background:#5264AE;
transition:0.2s ease all;
-moz-transition:0.2s ease all;
-webkit-transition:0.2s ease all;

.bar:before
left:50%;

.bar:after
right:50%;


/* active state */
.input-float:focus ~ .bar:before, .input-float:focus ~ .bar:after
width:50%;


/* HIGHLIGHTER ================================== */
.highlight
position:absolute;
height:60%;
width:100px;
top:25%;
left:0;
pointer-events:none;
opacity:0.5;


/* active state */
.input-float:focus ~ .highlight
-webkit-animation:inputHighlighter 0.3s ease;
-moz-animation:inputHighlighter 0.3s ease;
animation:inputHighlighter 0.3s ease;


/* ANIMATIONS ================ */
@-webkit-keyframes inputHighlighter
from background:#5264AE;
to width:0; background:transparent;

@-moz-keyframes inputHighlighter
from background:#5264AE;
to width:0; background:transparent;

@keyframes inputHighlighter
from background:#5264AE;
to width:0; background:transparent;





Can you please also provide HTML?. or make a snippet
– sunil kumar
Aug 25 at 12:42






@sunilkumar - I am using laravel. It is not a plain HTML
– Puneet Kushwah
Aug 25 at 15:19





You can't do this with css only.. I write a test, hope this could find you: jsfiddle.net/e5rctfuj/20
– Sieen
Aug 25 at 16:41




1 Answer
1



Don't use position:absolute; , but position:instead; instead (on .label-float). This will keep the element part of the document flow, i.e. in the right order and place, and you can still use it's top parameter to create an offset and animate that.


position:absolute;


position:instead;


.label-float


top






By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Popular posts from this blog

𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

Edmonton

Crossroads (UK TV series)