【发布时间】:2021-09-18 13:11:54
【问题描述】:
我正在使用 css 在文本框中尝试浮动标签,但是一旦键入文本并从文本框中移除焦点,标签就会隐藏文本框的内容。我使用 YouTube 教程做到了这一点,但我不知道我在哪里犯了错误。我需要帮助来保持标签。
.main{
font-size:15px;
position:relative;
left:20%;
overflow:hidden;
}
.textbox{
height:30px;
width:100%;
color: grey;
padding-top:20px;
border: none;
border-bottom: 1px solid black;
}
.label-name{
position:absolute;
bottom:0px;
top:0px;
padding:0px 2px 0px 2px;
height:30px;
width:100%;
pointer-events:none;
}
.label-name::after{
content:"";
position: absolute;
left:0px;
bottom:-23px;
height:30px;
width:100%;
border-bottom: 3px solid blue;
transform: translateX(-100%);
transition: transform 0.3s ease;
}
.span-name{
position:absolute;
bottom:-15px;
transition: all 0.3s ease;
}
.span-name::after{
position: absolute;
content:"";
bottom:-23px;
}
.textbox:focus + .label-name .span-name {
transform: translateY(-150%);
font-size: 13px;
color: #5fa8d3;
}
.textbox:focus, .textbox:valid{
box-shadow:none;
outline:none;
}
.textbox:focus + .label-name::after,
.textbox:valid + .label-name .span-name::after {
transform:translateY(0%);
}
<div class="main">
<input class="textbox" type="text"/>
<label class="label-name">
<span class="span-name">Name</span>
</label>
</div>
【问题讨论】:
标签: html css css-animations