html - 在输入字段中填充 html 时隐藏文本在 css 中不起作用

标签 html css input label hidden

我有一个如下所示的 html 输入框,它工作正常:

.lolan:placeholder-shown+.form__label {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-4rem);
  transform: translateY(-4rem);
}
<input class="lolan" type="text" id="name" placeholder="Full Name" required />
<label for="name" class="form__label">Click "Download" To Get Your Card</label>

当用户键入文本时,将显示标签。现在我在输入框上方添加了一个标签,它将在输入框被填充之前显示并在输入框被填充之后隐藏。我做了以下代码:

.lolan:placeholder-shown - .form__labell {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-4rem);
  transform: translateY(-4rem);
}
<label for="name" class="form__labell">Click "Download" To Get Your Card</label>
<input class="lolan" type="text" id="name" placeholder="Full Name" required />

这是行不通的,谁能告诉我这里出了什么问题

最佳答案

相邻兄弟组合子是+,一般兄弟组合子是~: 没有像 -

这样的 previuos adjacent sibling combinator

您可以像第一个示例一样保持标记中元素的顺序,但使用 flexboxorder 属性反转它们

div {
 display: flex;
}

input { order: 2 }
label { order: 1 }

input:not(:placeholder-shown) + label {
   opacity: 0;
   visibility: hidden;
   -webkit-transform: translateY(-4rem);
   transform: translateY(-4rem);
}
<div>
  <input class="lolan" type="text" id="name" placeholder="Full Name" required />
  <label for="name" class="form__labell">Click "Download" To Get Your Card</label>
</div>

关于html - 在输入字段中填充 html 时隐藏文本在 css 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59678762/

相关文章:

jquery - 如何将CSS仅应用于光标所在的元素?

jquery - 如何使用带有 fadeIn 和 fadeOut 的 jquery 制作图像 slider

html - 如何确保 CSS 反转的按钮间距均匀?

actionscript-3 - AS3 - 允许在输入文本中使用正斜杠吗?

reactjs - 在其中设置状态时去抖动不起作用

html - 增加悬停链接的字体大小会改变背景颜色的大小,如何阻止这种情况?

php - IE8 上@font-face 中的像素化字体问题

html - 当我使用 background-image 时,为什么我的 CSS 不适用于图像?

javascript - 当有人在文本输入中输入时如何删除提示 - javascript

javascript - jQuery UI 覆盖重复修复 "Auto"尺寸