更改占位符的font-family

时间:2013-01-25 14:55:51

标签: css input stylesheet font-face placeholder

输入字段是否可以有一个字体系列和它的占位符?

我试图在CSS中使用已定义的@ font-face更改输入占位符的font-family但是它不起作用

CSS

.mainLoginInput::-webkit-input-placeholder { 
  font-family: 'myFont', Arial, Helvetica, sans-serif;
}

.mainLoginInput:-moz-placeholder { 
  font-family: 'myFont', Arial, Helvetica, sans-serif;
}

HTML

<input class="mainLoginInput" type="text" placeholder="Username"  />

我该如何解决这个问题?

5 个答案:

答案 0 :(得分:41)

如果有人想要所有浏览器的占位符选择器:

.mainLoginInput::-webkit-input-placeholder {
  font-family: 'myFont', Arial, Helvetica, sans-serif;
}

.mainLoginInput:-ms-input-placeholder {
  font-family: 'myFont', Arial, Helvetica, sans-serif;
}

.mainLoginInput:-moz-placeholder {
  font-family: 'myFont', Arial, Helvetica, sans-serif;
}

.mainLoginInput::-moz-placeholder {
  font-family: 'myFont', Arial, Helvetica, sans-serif;
}

答案 1 :(得分:4)

发现它......

Firefox 19+用户的前缀为::-moz-placeholder

代码看起来像这样

.mainLoginInput::-moz-placeholder {
   font-family: 'myFont', Arial, Helvetica, sans-serif;  
}

答案 2 :(得分:3)

将其用于主要的浏览器支持:

HTML:

<input type="text" placeholder="placeholder text.." class="mainLoginInput" />

CSS:

.mainLoginInput::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  font-family: 'myFont', Arial, Helvetica, sans-serif;
  opacity: 1; /* Firefox */
}

.mainLoginInput:-ms-input-placeholder { /* Internet Explorer 10-11 */
  font-family: 'myFont', Arial, Helvetica, sans-serif;
}

.mainLoginInput::-ms-input-placeholder { /* Microsoft Edge */
  font-family: 'myFont', Arial, Helvetica, sans-serif;
}

详细信息参考link

答案 3 :(得分:2)

以下是::placeholder伪元素的完整用法:

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: pink;
}
::-moz-placeholder { /* Firefox 19+ */
 color: pink;
}
:-ms-input-placeholder { /* IE 10+ */
 color: pink;
}
:-moz-placeholder { /* Firefox 18- */
 color: pink;
}

Firefox中的所有占位符都应用了不透明度值,因此为了解决此问题,我们需要重置该值:

::-moz-placeholder {
  opacity: 1;
}

Source

答案 4 :(得分:2)

就像这样

.mainLoginInput::placeholder{
     font-family: -Your font here-;
}