无法获得标签和输入以专注于工作
Cant get label and input to work on focus
我想在输入的顶部获取标签。但是当我在代码中向上移动它时,CSS 焦点样式停止工作。在焦点上,标签需要变大。如何解决这个问题?什么都试过了...
form {
margin-top: 25px;
}
input {
display:block;
}
form input:focus + label {
font-size: 1.5em;
}
<form>
<!-- DOESN'T WORK
=====================
-->
<label for="firstname">First name:</label>
<input id="firstname" name="firstname" type="text">
<br>
<!-- WORKS
=====================
-->
<input id="lasttname" name="firstname" type="text">
<label for="lasttname">Last name:</label>
</form>
一个jQuery解决方案。
$(function() {
$('form input[type="text"]').focus(function() {
$(this).prev('label').css("font-size", "1.5em");
});
$('form input[type="text"]').focusout(function() {
$(this).prev('label').css("font-size", "1em");
});
});
form {
margin-top: 25px;
}
form input:focus + label {
font-size: 1.5em;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<!-- DOESN'T WORK
=====================
-->
<label for="firstname">First name:</label>
<input id="firstname" name="firstname" type="text">
<!-- WORKS
=====================
-->
<input id="lasttname" name="firstname" type="text">
<label for="lasttname">Last name:</label>
</form>
尝试将标签和输入包装在额外的 div
中,并使用 flex-box
:
form {
margin-top: 25px;
}
form input:focus + label {
font-size: 1.5em;
}
.form-row {
display: flex;
flex-direction: column;
margin-bottom: 8px;
}
.form-row label {
order: 1;
}
.form-row input {
order: 2;
width: 141px;
}
<form>
<!-- DOESN'T WORK
=====================
-->
<div class='form-row'>
<input id="firstname" name="firstname" type="text">
<label for="firstname">First name:</label>
</div>
<!-- WORKS
=====================
-->
<input id="lasttname" name="firstname" type="text">
<label for="lasttname">Last name:</label>
</form>
我想在输入的顶部获取标签。但是当我在代码中向上移动它时,CSS 焦点样式停止工作。在焦点上,标签需要变大。如何解决这个问题?什么都试过了...
form {
margin-top: 25px;
}
input {
display:block;
}
form input:focus + label {
font-size: 1.5em;
}
<form>
<!-- DOESN'T WORK
=====================
-->
<label for="firstname">First name:</label>
<input id="firstname" name="firstname" type="text">
<br>
<!-- WORKS
=====================
-->
<input id="lasttname" name="firstname" type="text">
<label for="lasttname">Last name:</label>
</form>
一个jQuery解决方案。
$(function() {
$('form input[type="text"]').focus(function() {
$(this).prev('label').css("font-size", "1.5em");
});
$('form input[type="text"]').focusout(function() {
$(this).prev('label').css("font-size", "1em");
});
});
form {
margin-top: 25px;
}
form input:focus + label {
font-size: 1.5em;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<!-- DOESN'T WORK
=====================
-->
<label for="firstname">First name:</label>
<input id="firstname" name="firstname" type="text">
<!-- WORKS
=====================
-->
<input id="lasttname" name="firstname" type="text">
<label for="lasttname">Last name:</label>
</form>
尝试将标签和输入包装在额外的 div
中,并使用 flex-box
:
form {
margin-top: 25px;
}
form input:focus + label {
font-size: 1.5em;
}
.form-row {
display: flex;
flex-direction: column;
margin-bottom: 8px;
}
.form-row label {
order: 1;
}
.form-row input {
order: 2;
width: 141px;
}
<form>
<!-- DOESN'T WORK
=====================
-->
<div class='form-row'>
<input id="firstname" name="firstname" type="text">
<label for="firstname">First name:</label>
</div>
<!-- WORKS
=====================
-->
<input id="lasttname" name="firstname" type="text">
<label for="lasttname">Last name:</label>
</form>