输入样式仅适用于类型="文本"

时间:2016-11-01 21:17:18

标签: html5 css3

当我的所有输入都设置为" text"它很漂亮。

示例: https://jsfiddle.net/beckah/62oozn3t/

但是当我有其他HTML5输入元素时,例如telemail,我的标签在输入字段后拒绝浮动,而不是激活另一个字段。要进行测试,请输入"电子邮件"输入然后选择另一个输入和类型。你会看到标签一旦不活动就不会继续浮动

示例: https://jsfiddle.net/beckah/8zpd5n46/1/

非常感谢任何帮助。 谢谢。

1 个答案:

答案 0 :(得分:1)

正如评论中所指出的那样,您的问题在于此代码部分中您的css上的:valid选择器,以及其他一些地方。

input.question:focus,
input.question:valid {
  padding-top: 35px;
}

由于您使用的是:valid选择器,并且您的电子邮件或电话在某些情况下无效,因此会崩溃,而对于您的文字输入,只要它不是空的,它就不会再次崩溃

如果您不想完成编写JavaScript的所有麻烦,可以将其作为普通文本输入,并且不会拥有@.com键可在移动设备上使用,但它可以按设计使用。

要完全解决此问题,您应该通过JavaScript检查input,因为CSS无法查看textareainput是否包含文字。您可以通过基本检查以查看输入的value是否为空来执行此操作,如果不是,请使用getElementById().style.padding = "35px";

通过javascript调整css样式

对不起,没有简单的解决方案,但CSS还没有像这样的输入。