📅  最后修改于: 2023-12-03 15:09:49.548000             🧑  作者: Mango
引导浮动标签是一种常见的用户界面设计元素,它可以在输入框中提示用户应输入的内容,并在用户输入时自动消失。这个提示文字通常是浮动在输入框上方的标签,以便更好地利用页面上的空间并提高用户体验。
引导浮动标签的 HTML 结构通常是一个包含两个元素的容器。第一个元素是输入框元素,第二个元素是浮动标签元素。例如:
<div class="form-group">
<input type="text" class="form-control" id="username">
<label for="username">用户名</label>
</div>
使用 CSS 样式可以实现以下功能:
.form-group {
position: relative;
}
.form-group label {
position: absolute;
top: 0;
left: 0;
font-size: 12px; /* 标签文字大小 */
color: #999; /* 标签文字颜色 */
transition: all .2s ease-out; /* 动画效果 */
pointer-events: none; /* 使标签不响应事件 */
}
.form-control:focus + label,
.form-control:not(:placeholder-shown) + label {
top: -10px; /* 输入框获得焦点或者有内容时,浮动标签向上移动 */
font-size: 10px; /* 标签文字缩小 */
color: #008cba; /* 标签文字颜色变为蓝色 */
}
.form-control {
height: 40px; /* 输入框高度 */
padding-top: 20px; /* 输入框上边距,保证输入内容不被遮挡 */
}
JavaScript 脚本通常用于初始化浮动标签。例如:
const inputs = document.querySelectorAll(".form-control");
inputs.forEach((input) => {
input.addEventListener("focus", (e) => {
e.target.previousElementSibling.classList.add("focus");
});
input.addEventListener("blur", (e) => {
if (e.target.value === "") {
e.target.previousElementSibling.classList.remove("focus");
}
});
});
引导浮动标签是一种优化用户体验的重要元素,它提醒用户输入内容并减少了输入框所占据的空间。通过 HTML、CSS 和 JavaScript 的灵活运用,我们可以轻松地实现引导浮动标签。