Firefox에 따르면 선택기에 오류가 있습니다. 인식 할 수없는 의사 클래스. 따라서 규칙은 정의에 따라 전체적으로 무시됩니다.
웹킷 및 IE 용 Ditto
그래서 다른 문제에 대한 답을 나타내므로 해결 방법은 여러 규칙에 걸쳐이를 나누는 것입니다.
::-webkit-input-placeholder {
color: #999;
}
:-moz-placeholder,::-moz-placeholder {
color: #999;
}
:-ms-input-placeholder {
color: #999;
}
파이어 폭스가 두 규칙을 모두 인식하므로 동일한 규칙에 두 가지 -moz를 둘 수 있습니다. (그들은 또한 너무 규칙에 둘 다 가지고, 동일한 것을 의미하는 것은 중복이지만, 그것은 중요하지 않습니다, 그래서 그것은 작동합니다.)
Fiddle
편집 : 의견을 같이 단일 콜론 버전의 Mozilla 선택기가 작동하지 않으며 이중 콜론 버전 만 작동합니다. (최신 버전 즉, 여기에 이전 버전이 없음). 그러나 싱글 콜론 버전은 오류로 간주되지 않습니다. 그렇지 않으면이 CSS가 작동하지 않습니다.
이렇게 많은 코드를 작성해야한다면 [LESS] (http://lesscss.org)와 같은 CSS 전처리기를 사용하는 것이 좋습니다 (CSS의 "수퍼 세트" 모든 CSS는 또한 덜 유효하므로 쉽게 사용할 수 있습니다.) –
@RobW LESS가 Sass의'@ content' 지시문과 비슷한 것을 제외하고는 LESS가 합리적으로 이것을 추상적으로 할 수 없습니다 (http://stackoverflow.com/a/17181946/1652962 참조). – cimmanon