【发布时间】:2014-03-18 20:01:46
【问题描述】:
我正在为 <input> 标签中的占位符文本设置样式,但我发现了一些奇怪的行为。
如果我简单地输入以下内容,Chrome 会正确呈现占位符文本:
:focus::-webkit-input-placeholder {
position: absolute;
left: -9000px;
}
但是,如果我尝试在同一行中包含多个浏览器,它根本不会显示:
:focus::-webkit-input-placeholder, :focus:-moz-placeholder, :focus::-moz-placeholder, :focus:-ms-input-placeholder {
position: absolute;
left: -9000px;
}
理想情况下,我希望我的 SASS 如下所示,但无论出于何种原因,我都不能使用逗号分隔不同的选择器。
:focus {
outline: none;
&::-webkit-input-placeholder, &:-moz-placeholder, &::-moz-placeholder, &:-ms-input-placeholder {
// Hide placeholder text on focus
position: absolute;
left: -9000px;
}
}
是否有任何 SASS 语法强制它使用自己的块处理每个选择器,如下例所示?
:focus::-webkit-input-placeholder {
position: absolute;
left: -9000px;
}
:focus:-moz-placeholder {
position: absolute;
left: -9000px;
}
// etc.
【问题讨论】:
-
谢谢,我认为原因是这样的。这就是为什么我正在寻找一种 SASS-y 方式来解决它。
标签: css sass placeholder