javascript - 如何在用户输入时保持输入占位符可见

标签 javascript html css placeholder

我有一个新的有趣的要求。占位符不应在用户开始输入时消失,而应保持可见并移至输入框的右侧。

这甚至可以用标准的 HTML 占位符实现吗?我怎样才能做到这一点?

谢谢

最佳答案

这对于标准 HTML 占位符是不可能的,因为它的 native 行为正在消失。但是,您可能需要考虑添加一个元素来充当占位符,并添加一个 CSS 选择器来感知用户何时开始键入 (:placeholder-shown) 并将其向右移动。

这是可能的做法:

.wrapper {
  position: relative;
  font-family: sans-serif;
  font-size: 14px;
  width: max-content;
}

.placeholder {
  position: absolute;
  right: 4px;
  top: 2px;
  pointer-events: none;
  opacity: .5;
}

.input:placeholder-shown + .placeholder {
  /* if real placeholder is shown - hide fake placeholder */
  opacity: 0;
}
<div class="wrapper">
  <input type="text" class="input" placeholder="Test">
  <div class="placeholder">Test</div>
</div>

关于javascript - 如何在用户输入时保持输入占位符可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19516303/

相关文章:

javascript - colgroup 上的样式不起作用

css - 我怎样才能将内容覆盖到覆盖层上? - CSS问题

javascript - 为平面 UI 样式覆盖 CSS

javascript - ExtJs标签不显示

Javascript 错误...我认为

javascript - 用 html 和 css 设计纸牌游戏的 UI

html - 必须点击两次才能在移动设备上打开网站链接

CSS:我可以选择不属于特定类的每种类型的元素吗?

javascript - 有没有办法将 OnSuccess 脚本添加到我的 Ajax 调用中

javascript - RequireJS - 依赖注入(inject)器或服务定位器