首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定制材料设计表格(FrontEnd)

定制材料设计表格(FrontEnd)
EN

Stack Overflow用户
提问于 2019-03-28 05:05:47
回答 1查看 45关注 0票数 1

我试着使用这段代码来创建一个定制的文本字段,比如材料设计。我不知道我将如何处理错误,因为当您试图单击textfield的标签(您的电子邮件)的确切位置,文本字段不允许我键入。但是,当您尝试单击textfield的标签外时,它将允许您键入。我要做的是,当您单击标签外部或标签的确切位置时,textfield将允许您键入。

代码语言:javascript
复制
 <div class="form__group">
 <input type="email" id="email" class="form__field" placeholder="Your Email">
 <span for="email" class="span-header form__label">Your Email</span>
</div>

图片不允许我键入,当我试图点击标签(你的电子邮件)

单击标签-image

图片允许我在尝试单击标签外部时键入

单击标签外的-image

CSS:

代码语言:javascript
复制
.form__group {
 position: relative;
 padding: 15px 0 0;
 margin-top: 10px;
 }

.form__field {
 font-family: inherit;
 width: 100%;
 border: 0;
 border-bottom: 1px solid #d2d2d2;
 outline: 0;
 font-size: 16px;
 color: #212121;
 padding: 7px 0;
 background: transparent;
 transition: border-color 0.2s;
 }

 .form__field::-webkit-input-placeholder {
  color: transparent;
  }

  .form__field:-ms-input-placeholder {
  color: transparent;
  }

 .form__field::-ms-input-placeholder {
  color: transparent;
  }

 .form__field::placeholder {
  color: transparent;
  }

 .form__field:placeholder-shown ~ .form__label {
  font-size: 16px;
  cursor: text;
  top: 20px;
 }

.span-header,
.form__field:focus ~ .form__label {
 position: absolute;
 top: 0;
  display: block;
  transition: 0.2s;
  font-size: 12px;
 color: #9b9b9b;
 }

 .form__field:focus ~ .form__label {
  color: #009788;
 }

.form__field:focus {
 padding-bottom: 6px;
  border-bottom: 2px solid #009788;
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-28 05:10:00

使用而不是span

id元素相同的文档中可标记窗体相关元素的<label>。文档中具有与for属性值匹配的id的第一个元素是此label元素的标记控件(如果它是一个可标记元素)。如果它是不可标记的,那么for属性就没有作用。如果有其他元素也匹配id值,则在文档的后面不考虑它们。

代码语言:javascript
复制
.form__group {
  position: relative;
  padding: 15px 0 0;
  margin-top: 10px;
}

.form__field {
  font-family: inherit;
  width: 100%;
  border: 0;
  border-bottom: 1px solid #d2d2d2;
  outline: 0;
  font-size: 16px;
  color: #212121;
  padding: 7px 0;
  background: transparent;
  transition: border-color 0.2s;
}

.form__field::-webkit-input-placeholder {
  color: transparent;
}

.form__field:-ms-input-placeholder {
  color: transparent;
}

.form__field::-ms-input-placeholder {
  color: transparent;
}

.form__field::placeholder {
  color: transparent;
}

.form__field:placeholder-shown~.form__label {
  font-size: 16px;
  cursor: text;
  top: 20px;
}

.span-header,
.form__field:focus~.form__label {
  position: absolute;
  top: 0;
  display: block;
  transition: 0.2s;
  font-size: 12px;
  color: #9b9b9b;
}

.form__field:focus~.form__label {
  color: #009788;
}

.form__field:focus {
  padding-bottom: 6px;
  border-bottom: 2px solid #009788;
}
代码语言:javascript
复制
<div class="form__group">
  <input type="email" id="email" class="form__field" placeholder="Your Email">
  <label for="email" for="email" class="span-header form__label">Your Email</label>
</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55390522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档