中学数学621094 views
高校物理158008 views
英語606840 views
小学算数1193669 views
高校倫理1432233 views
りんご189887 views
高校国語785262 views
世界の国559994 views
LaTeX956652 views
ヒストリア282760 views
Help
Tools

English

cssのinput:validはrequiredがないとたぶんうまく機能しない

css の input:valid は required がないとうまく機能しない。

<li class="login-input-label">
	<input type="text" id="login-name" required>
	<label for="login-name">ユーザー名</label>
</li>
<li class="login-input-label">
	<input type="password" id="login-password" required>
	<label for="login-password">パスワード</label>
</li>

input:valid にデザインをあてるときは input に required をあてないといけない(たぶん)。ちなみに下の css は input にフォーカスしたときにラベルが小さくなるデザイン。

.login-input-label input ~ label {
    color: #666;
    font-size: 15px;
    position: absolute;
    top: 24px;
}

.login-input-label input {
    border-bottom: 1px solid #f0f0f0;
    font-size: 17px;
    padding-bottom: 6px;
    width: 100%;
    position: absolute;
    bottom: 0;
}

.login-input-label input:focus ~ label {
    font-size: 10px;
    top: 0;
    transition: all .2s ease-in-out;
    -webkit-transition: all .2s ease-in-out;
}

.login-input-label input:not(:focus) ~ label {
    font-size: 15px;
    top: 24px;
    transition: all .2s ease-in-out;
    -webkit-transition: all .2s ease-in-out;
}

.login-input-label input:valid ~ label {
    font-size: 10px;
    top: 0;
}

input:valid を設定しないと、文字が入力されてフォーカスが外れたときにもとのデザインにならない。入力でラベルが動くデザインは上のコードがベースになる。