【发布时间】:2021-05-16 18:02:19
【问题描述】:
我希望占位符在文本框处于焦点时以及在用户键入时移动到顶部。
我不确定这只是 html/css 还是任何 javascript。
我现在的css是这样的,我还没有js代码:
input:focus::-webkit-input-placeholder {
font-size: .75em;
position: relative;
top: -15px;
transition: 0.2s ease-out;
}
input::-webkit-input-placeholder {
transition: 0.2s ease-in;
}
input[type="text"]:focus, input[type="password"]:focus {
height: 50px;
padding-bottom: 0px;
transition: 0.2s ease-in;
}
input[type="text"], input[type="password"] {
height: 50px;
transition: 0.2s ease-in;
}
它几乎可以完成工作,但是当我开始输入时占位符消失了。我正在使用 twitter-bootstrap,如果这样更容易的话!
谢谢。
【问题讨论】:
-
如果您只检查该页面,您会发现他们正在操作的不是占位符,而是浮动在 INPUT 顶部的 DIV。您应该能够通过查看该站点上的代码来复制正在发生的事情。
-
看不到任何占位符代码,我太着迷了,以至于我不知道他们正在使用另一个 div。所以没有办法让占位符在打字时保持不变?
-
Google 的 Material Design Lite 使用了类似的行为。 Here 是如何使用 HTML/CSS/jQuery 实现此类功能的示例。我认为您通常需要 JS 才能使其正常工作。
-
链接页面没有使用JS。这不是必需的。您可以使用
pointer-events属性和:focus选择器来解决它,只需要 CSS。 -
@BivoKasaju 提供的链接不再起作用,考虑更改它或修改问题
标签: html twitter-bootstrap css