How do you make Placeholder and Label Transitions?

后端 未结 2 1527
迷失自我
迷失自我 2020-12-10 09:59

I am looking to find an example of how to make a label / placeholder transition move up and out of placeholder position into a label position and vice versa..

Exam

相关标签:
2条回答
  • 2020-12-10 10:17

    I found a good Codepen showing an example of how to do it in CSS.

    HTML:

    <div class="row">
        <input id="name" type="text" name="name">
        <label for="name">Full Name</label>
    </div>
    

    CSS:

    .row {
      position: relative;
      margin-top: 35px;
    }
    
    input {
        display: block;
        padding: 8px 12px;
        width: 100%;
        max-width: 300px;
        border-radius: 5px;
        border: 0;
    }
    
    label {
        position: absolute;
        font-weight: 600;
        color: #777777;
        top: 50%;
        left: 12px;
        transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        cursor: text;
        user-select: none;
        transition: 0.15s ease-in-out;
    }
    
    input[data-empty="false"] + label,
    input:valid + label,
    input:focus + label {
        top: -10px;
        left: 0px;
        font-size: 10px;
        color: #ffffff;
    }
    

    Example: https://codepen.io/sivan/pen/alKwf

    0 讨论(0)
  • 2020-12-10 10:38

    General sibling selectors & :focus does the trick in a very simple way ;)

    input{
     position:absolute;
     top:20px;
    }
    input ~ span{
     transition:top .7s ease;
     position:absolute;
     top:20px;
    }
    input:focus ~ span{
     top:0px;
    }
    <label>
    <input>
    <span>Text</span>
    </label>

    here is an example with multiple fields

    https://jsfiddle.net/shLe3107/1/

    hope this is enough else just ask

    0 讨论(0)
提交回复
热议问题