html - 在跨度顶部移动输入字段
问题描述
我有一个跨度作为我的输入字段的标签。选中时标签位于输入字段上方。
我的问题是,当您尝试单击输入字段时,标签位于输入字段的“前面”并阻止您选择它。
我尝试使用 z-indexes 修复它,但这似乎不起作用。
有人可以帮我在跨度前面获取输入字段吗?
#input {
color: #686868;
vertical-align: middle;
padding: 0px !important;
font-size: 16px;
border-width: 0;
overflow: visible;
box-shadow: none;
border: none;
border-bottom: 1px solid #d5dce3;
background-color: transparent !important;
}
#input:focus {
border-color: #1F76BC;
}
#label {
color: rgba(0,0,0,.99);
transition-timing-function: cubic-bezier(.075,.82,.165,1);
transition-duration: .5s;
position: absolute;
width: 100%;
text-align: left;
font-size: 16px;
bottom: 6px;
color: #8792a1;
}
.container:focus-within #label {
transform: translate3d(0,-26px,0);
color: rgba(0,0,0,.99);
}
.container {
position: relative;
margin-top: 32px;
}
<div class="container">
<span id="label">Provincie</span>
<input type="text" id="input" value="" size="40">
</div>
解决方案
使用label
而不是,无论占位符的位置如何,span
您input
都可以很好地点击
placeholder_input = document.querySelector('#input');
placeholder_label = document.querySelector('.container > label');
placeholder_input.onchange = function() {
if (placeholder_input.value !== '') {
placeholder_label.style.transform = 'translate3d(0, -26px, 0)';
} else {
placeholder_label.style.transform = '';
}
}
#input {
color: #686868;
vertical-align: middle;
padding: 0px !important;
font-size: 16px;
border-width: 0;
overflow: visible;
box-shadow: none;
border: none;
border-bottom: 1px solid #d5dce3;
background-color: transparent !important;
}
#input:focus {
border-color: #1F76BC;
}
label {
color: rgba(0,0,0,.99);
transition-timing-function: cubic-bezier(.075,.82,.165,1);
transition-duration: .5s;
position: absolute;
width: 100%;
text-align: left;
font-size: 16px;
bottom: 6px;
color: #8792a1;
}
.container:focus-within label {
transform: translate3d(0,-26px,0);
color: rgba(0,0,0,.99);
}
.container {
position: relative;
margin-top: 32px;
}
<div class="container">
<label for="input">Provincie</label>
<input type="text" id="input" value="" size="40">
</div>
推荐阅读
- reactjs - 如何使用 refs 实现 useInput 钩子
- python - 将对象重置为初始状态 Python
- c++ - 为什么在 requires 子句中的否定表达式周围需要括号?
- elasticsearch - 弹性搜索协调节点角色 - 复杂聚合
- google-bigquery - BigQuery:在查询 SELECT * EXCEPT(columns) 中使用 INFORMATION_SCHEMA 的结果来过滤重复的列
- html - 在表单中的 HTML 中,如何将输入文本元素对齐为一行?
- google-chrome - xhr 发布请求在 Google chrome 中移至“已完成”状态,但未收到响应
- javascript - Vue路由器中如何避免这种类型的路径冗余?
- java - Lucee 突然高 Java CPU 使用率
- ios - 网络 rtc 只是从 android 到 ios 的音频作品