html5输入框输入有效的选择效果
本帖最后由 褪色 于 2018-1-30 17:57 编辑html:
<link rel="stylesheet" type="text/css" >
<div class="exp-container">
<h2 class="exp-title">Using<span>:valid</span> selector in CSS</h2>
<div class="exp">
<input type="text" class="exp__input" id="example" name="test" placeholder="Full Name" required>
<label class="exp__label" for="example" data-icon="" data-icon-ok="">Full Name</label>
</div>
<div class="exp">
<input type="email" class="exp__input" id="example2" name="test" placeholder="Email" required>
<label class="exp__label" for="example2" data-icon="" data-icon-ok="">Email</label>
</div>
</div>
CSS:
<font size="4">html,</font>
<font size="4">body {</font>
<font size="4">background-color: #F4F4F4;</font>
<font size="4">display: flex;</font>
<font size="4">width: 100%;</font>
<font size="4">height: 100%;</font>
<font size="4">align-items: center;</font>
<font size="4">font-family: "Work Sans", sans-serif;</font>
<font size="4">justify-content: center;</font>
<font size="4">}</font>
<font size="4">
</font>
<font size="4">.exp-container {</font>
<font size="4">width: 100%;</font>
<font size="4">padding: 30px;</font>
<font size="4">box-sizing: border-box;</font>
<font size="4">max-width: 600px;</font>
<font size="4">}</font>
<font size="4">
</font>
<font size="4">.exp {</font>
<font size="4">display: flex;</font>
<font size="4">flex-direction: column-reverse;</font>
<font size="4">width: 100%;</font>
<font size="4">margin-bottom: 30px;</font>
<font size="4">position: relative;</font>
<font size="4">flex-wrap: wrap;</font>
<font size="4">}</font>
<font size="4">
</font>
<font size="4">.exp__label {</font>
<font size="4">transition: 0.3s;</font>
<font size="4">margin-bottom: 5px;</font>
<font size="4">}</font>
<font size="4">
</font>
<font size="4">.exp__label:before {</font>
<font size="4">content: attr(data-icon);</font>
<font size="4">font-weight: normal;</font>
<font size="4">font-family: "Ionicons";</font>
<font size="4">font-size: 24px;</font>
<font size="4">position: absolute;</font>
<font size="4">left: 0;</font>
<font size="4">transform: rotateY(90deg);</font>
<font size="4">bottom: 0;</font>
<font size="4">height: 52px;</font>
<font size="4">background: transparent;</font>
<font size="4">color: #000;</font>
<font size="4">transform-origin: left;</font>
<font size="4">display: flex;</font>
<font size="4">align-items: center;</font>
<font size="4">justify-content: center;</font>
<font size="4">transition: color .3s 0s ease, transform .3s 0s ease;</font>
<font size="4">width: 42px;</font>
<font size="4">}</font>
<font size="4">
</font>
<font size="4">.exp__input {</font>
<font size="4">border: 1px solid #ddd;</font>
<font size="4">padding: 0 10px;</font>
<font size="4">width: 100%;</font>
<font size="4">height: 52px;</font>
<font size="4">transition: 0.3s;</font>
<font size="4">font-weight: normal;</font>
<font size="4">box-sizing: border-box;</font>
<font size="4">font-family: "Work Sans", sans-serif;</font>
<font size="4">outline: none;</font>
<font size="4">}</font>
<font size="4">
</font>
<font size="4">.exp__input:focus {</font>
<font size="4">padding-left: 42px;</font>
<font size="4">border-color: #bbb;</font>
<font size="4">}</font>
<font size="4">
</font>
<font size="4">.exp__input:focus + label:before {</font>
<font size="4">transform: rotateY(0deg);</font>
<font size="4">}</font>
<font size="4">
</font>
<font size="4">.exp__input:valid {</font>
<font size="4">padding-left: 42px;</font>
<font size="4">border-color: green;</font>
<font size="4">}</font>
<font size="4">
</font>
<font size="4">.exp__input:valid + label {</font>
<font size="4">color: green;</font>
<font size="4">}</font>
<font size="4">
</font>
<font size="4">.exp__input:valid + label:before {</font>
<font size="4">transform: rotateY(0deg);</font>
<font size="4">color: green;</font>
<font size="4">font-size: 34px;</font>
<font size="4">content: attr(data-icon-ok);</font>
<font size="4">}</font>
<font size="4">
</font>
<font size="4">.exp-title {</font>
<font size="4">text-align: center;</font>
<font size="4">font-size: 22px;</font>
<font size="4">margin-bottom: 30px;</font>
<font size="4">font-weight: normal;</font>
<font size="4">}</font>
<font size="4">
</font>
<font size="4">.exp-title span {</font>
<font size="4">display: inline-block;</font>
<font size="4">padding: 5px;</font>
<font size="4">font-size: 22px;</font>
<font size="4">background: #feffd4;</font>
<font size="4">}</font>
页:
[1]