【问题标题】:How to apply pseudo-element styling to specific class only?如何仅将伪元素样式应用于特定类?
【发布时间】:2015-10-31 02:39:01
【问题描述】:

我在 html 中有这样的输入元素:

<input type="text" placeholder="any TEXT" />

占位符的 CSS 样式:

::-webkit-input-placeholder { color: red; text-transform: uppercase;}
input::-moz-placeholder {color: red; text-transform: uppercase;}
input:-moz-placeholder {   /* Older versions of Firefox */  color: red; text-transform: uppercase;}
input:-ms-input-placeholder { color: red;   text-transform: uppercase;}

它工作正常,但是, 问题是它将此样式应用于页面上的所有输入元素,但它们假设具有不同的占位符样式。我如何将 CSS 中的占位符样式限制为特定的类 - 比如说“.placeholder-red”,所以在 HTML 中我可以像普通类一样使用它:

<input type="text" class="placeholder-red"any TEXT" />

???

???

我尝试过这样的事情:

.placeholder-red::-webkit-input-placeholder { color: red; text-transform: uppercase;}

它可以工作,但仅使用 ::-webkit-input-placeholder{...} (这意味着此样式可能不适用于其他浏览器),但我该如何应用它输入::-moz-placeholder{...}?我试过这样的事情 - 不工作:

.placeholder-red input::-moz-placeholder {color: red; text-transform: uppercase;}

【问题讨论】:

  • 您将支持哪些浏览器和版本?
  • 没有具体的列表,只是一些常见的..

标签: html css placeholder


【解决方案1】:

正如你所说的.placeholder-red::-webkit-input-placeholder{...},你走在正确的道路上,效果很好。

要申请其余的 CSS 支持,只需执行以下操作:

input.placeholder-red::-moz-placeholder {
    color: red; text-transform: uppercase;
}
input.placeholder-red:-moz-placeholder {   
    /* Older versions of Firefox */  
    color: red; text-transform: uppercase;
}
input.placeholder-red:-ms-input-placeholder { 
    color: rgba(0,5,143,.5);  text-transform: uppercase;
}

请注意,我使用的是简单的 CSS 选择器:input.placeholder-red,然后将伪类应用于此选择器。

让我知道this jsFiddle 是否适合您。

【讨论】:

  • 哇!这就是你如何将我的类应用到css中的输入元素!那太棒了!是的,它对我有用。感谢您的解决方案!
  • 我喜欢您的个人资料名称位于评论末尾的样子,太有趣了
猜你喜欢
  • 1970-01-01
  • 2016-05-03
  • 2011-01-02
  • 2012-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多