10

我想设置我的输入框占位符文本的样式,我这样做是这样的:

::-webkit-input-placeholder { font-size: 16pt; color: #555; }
::-moz-placeholder { font-size: 16pt; color: #555; }
:-ms-input-placeholder { font-size: 16pt; color: #555; }
input:-moz-placeholder { font-size: 16pt; color: #555; }

但是我有不同的占位符需要不同的样式的场景,如下所示:

在此处输入图像描述 在此处输入图像描述

这可能吗?我似乎无法成功地将上面的 css 与类或其他类型的元素选择器结合起来。我发现的所有教程都只设置一次占位符文本,而不是使用多个占位符样式。这是全局设置吗?

4

3 回答 3

24

您必须将类与伪元素结合起来,然后您可以将类应用于输入元素:

input::-webkit-input-placeholder { font-size: 16pt; color: #555; }
input::-moz-placeholder { font-size: 16pt; color: #555; }
input:-ms-input-placeholder { font-size: 16pt; color: #555; }
input:-moz-placeholder { font-size: 16pt; color: #555; }

input.other::-webkit-input-placeholder { font-size: 12pt; color: red; }
input.other::-moz-placeholder { font-size: 12pt; color: red; }
input.other:-ms-input-placeholder { font-size: 12pt; color: red; }
input.other:-moz-placeholder { font-size: 12pt; color: red; }
<input type="text" placeholder="Hello"></input>
<input type="text" class="other" placeholder="Hello"></input>

注意:input为了清晰和正确,我在这里添加了。

小提琴

请记住,伪选择器不是页面上的真实元素,而是附加到其他一些元素。将它们与其他一些元素选择器结合起来以匹配更具体的内容。

于 2013-08-29T22:32:04.173 回答
6

在您的输入上使用类应该可以工作。您是否尝试过以下方法:

/* WebKit browsers */
input.myClassNameOne::-webkit-input-placeholder { 
    font-size: 16pt; color: #555;
}

/* Mozilla Firefox 4 to 18 */
input.myClassNameOne:-moz-placeholder { 
    font-size: 16pt; color: #555;
}

/* Mozilla Firefox 19+ */
input.myClassNameOne::-moz-placeholder { 
    font-size: 16pt; color: #555;
}

/* Internet Explorer 10+ */
input.myClassNameOne:-ms-input-placeholder {
    font-size: 16pt; color: #555;
}
<input type="text" class="myClassNameOne" placeholder="test input" />
<input type="text" class="myClassNameTwo" placeholder="test input" />

JSFiddle:http: //jsfiddle.net/markwylde/fFLL7/1/

于 2013-08-29T22:27:27.990 回答
5

尽管其他答案是正确的,但我想指出您不需要将类直接应用于输入。您也可以将其应用于某些父包装器,并稍微修改建议的 CSS 以获得相同的结果,这可能更容易,因为您可能需要对 HTML 进行较少的修改。

一个例子(另见小提琴):

.default ::-webkit-input-placeholder { font-size: 16pt; color: #555; }
.default ::-moz-placeholder { font-size: 16pt; color: #555; }
.default :-ms-input-placeholder { font-size: 16pt; color: #555; }
.default input:-moz-placeholder { font-size: 16pt; color: #555; }

.other ::-webkit-input-placeholder { font-size: 12pt; color: red; }
.other ::-moz-placeholder { font-size: 12pt; color: red; }
.other :-ms-input-placeholder { font-size: 12pt; color: red; }
.other input:-moz-placeholder { font-size: 12pt; color: red; }
<div class='default'>
    <input placeholder='default'/>
    <input placeholder='default'/>
    <input placeholder='default'/>
</div>
    
<div class='other'>
    <input placeholder='other'/>
    <input placeholder='other'/>
    <input placeholder='other'/>
</div>

于 2013-08-29T22:44:29.560 回答