firefox @keyframes解决方案

时间:2014-05-01 17:56:04

标签: css3 firefox animation placeholder

您好我正在使用css3来动画占位符我想出来在webkit导航器上运行这个但是firefox并且即动画不起作用我认为问题是@keyframes请问任何解决方案的人吗?

input::-moz-placeholder {
  color: #8D8D8D;
}
input::-webkit-input-placeholder {
  color: #8D8D8D;
}
input:-ms-input-placeholder {
  color: #8D8D8D;
}

input:focus::-moz-placeholder {
animation-duration: 0.4s;
animation-name: slidein;
animation-timing-function: ease-out;
animation-fill-mode: forwards;
animation-delay: 0.1s;
}
input:focus::-webkit-input-placeholder {
  -webkit-animation-duration: 0.4s;
  -webkit-animation-name: slidein;
  -webkit-animation-timing-function: ease-out;
  -webkit-animation-fill-mode: forwards;
  -webkit-animation-delay: 0.1s;
}
input:focus:-ms-input-placeholder {
  opacity: 0;
}

input {
  color: black;
  padding-left: 0px;
  padding-right: 10px;
}

@-webkit-keyframes slidein {
  from {
    opacity: 1;
    padding-left: 0px;
  }

  to {
    opacity: 0;
    padding-left: 10px;
  }
}
@keyframes slidein {
  from {
    opacity: 1;
    padding-left: 0px;
    padding-right: 10px;
  }

  to {
    opacity: 0;
    padding-left: 10px;
    padding-right: 0px;
  }
}

这是现场演示http://jsfiddle.net/Cd8MG/

2 个答案:

答案 0 :(得分:0)

您需要@ -ms-keyframes,@ -moz-keyframes,@ -webkit-keyframes和@keyframes来覆盖所有基础。是的,您的代码将长达10英里。

答案 1 :(得分:0)

好的我的最终结论是: 似乎没有人注意到,但在Firefox中,占位符属性的行为是在用户开始输入之前保留文本,至少在最新版本中。 Webkit问题的Webkit解决方案(或者我应该说--webkit解决方案)似乎不会持续很长时间。