【发布时间】:2016-12-22 20:23:02
【问题描述】:
我正在尝试在 Sass 3.3.1 中为输入字段(针对不同的浏览器)设置占位符的样式,并希望在字段获得焦点时更改不透明度。我很难将伪类和伪元素与&符号结合起来。下面给出编译错误:
::-webkit-input-placeholder,
:-moz-placeholder,
::-moz-placeholder,
:-ms-input-placeholder{
... some default styling
:focus#{&}{
opacity: 0;
}
}
这个可以吗?
编辑
这是我正在寻找的输出:
::-webkit-input-placeholder {
opacity: 1;
}
:-moz-placeholder{
opacity: 1;
}
::-moz-placeholder{
opacity: 1;
}
:-ms-input-placeholder{
opacity: 1;
}
:focus::-webkit-input-placeholder {
opacity: 0;
}
:focus:-moz-placeholder{
opacity: 0;
}
:focus::-moz-placeholder{
opacity: 0;
}
:focus:-ms-input-placeholder{
opacity: 0;
}
【问题讨论】:
-
另请注意,此选择器不起作用:stackoverflow.com/questions/16982449/…
-
@cimmanon 感谢您的帮助,我不知道第二个链接。但我仍在寻找一种简单的方法来为每个供应商生成 :focus-rules。
-
:focus没有什么特别之处,就 Sass 而言,它与任何其他选择器相同。您的答案在第一个链接中。也相关:stackoverflow.com/questions/17181849/placeholder-mixin-scss-css -
我看不到第一个链接将如何引导我找到输出
:focus::-webkit-input-placeholder的内容。我不能使用:focus&,因为& 之前必须有一个空格。您的最后一个链接似乎更符合我的要求。再次感谢您的帮助。
标签: sass