html - 如果输入有值,CSS 会改变样式

标签 html css

我有一个带有占位符的输入元素,它应该总是出现

.wrapper {
  position: relative;
}

input {
  font-size: 14px;
  height: 40px;
}

.placeholder {
  position: absolute;
  font-size: 16px;
  pointer-events: none;
  left: 1px;
  top: 2px;
  transition: 0.1s ease all;
}

input:focus~.placeholder {
  top: -1px;
  font-size: 11px;
}

input[value=""]~.placeholder {
  top: -1px;
  font-size: 11px;
}
<div class="wrapper">
  <input type="text">
  <span class="placeholder">E-Mail</span>
</div>

如果输入字段中有任何文本,我希望伪占位符保持较小。 input[value=""] ~ .placeholder 选择器一定有问题,但我不知道。

最佳答案

使用:placeholder-shown但你至少需要有一个空的占位符

.wrapper{
  position: relative;
}

input {
  font-size: 14px;
  height: 40px;
}

.placeholder {
  position: absolute;
  font-size:16px;
  pointer-events: none;
  left: 1px;
  top: 2px;
  transition: 0.1s ease all;
}

input:focus ~ .placeholder{
  top: -1px;
  font-size: 11px;
}

input:not(:placeholder-shown) ~ .placeholder{
  top: -1px;
  font-size: 11px;
}
<div class="wrapper">
  <input type="text" placeholder=" ">
  <span class="placeholder">E-Mail</span>
</div>

关于html - 如果输入有值,CSS 会改变样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58321311/

相关文章:

javascript - CSS 动画在 Chrome 中不起作用

javascript - 如何在 Django Javascript 中打开编辑部分而不刷新每个帖子的页面?

javascript - 将鼠标悬停在不同的文本上时更改文本的颜色?

html - Bootstrap 对齐问题

css - Div 宽度自动调整为具有设置宽度的 div 中其内容的宽度?

javascript - 我正确使用 htmlspecialchars 吗?

css - 屏幕分辨率更改 CSS

php - 只有当它包含关键字时,才使用 CSS 隐藏具有特定类名的某些 tr

javascript - 避免在手机上下载图片

jquery - CSS div 定位和 jQuery SlideUp 疯狂