1、因为每个浏览器的CSS选择器都有所差异,所以需要针对每个浏览器做单独的设定(可以在冒号前面写input和textarea)。 ::-webkit-input-placeholder{/*WebKitbrowsers*/ color:#999; } :-moz-placeholder{/*MozillaFirefox4to18*/ color:#999; } ::-moz-placeholder{/*MozillaFirefox19+*/ color:#999; } :-ms-input-placeholder{/*InternetExplorer10+*/ color:#999; }

2、还可以写成下面这样: input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{ color:#666; } input:-moz-placeholder,textarea:-moz-placeholder{ color:#666; } input::-moz-placeholder,textarea::-moz-placeholder{ color:#666; } input:-ms-input-placeholder,textarea:-ms-input-placeholder{ color:#666; }

3、知识点:单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。 css伪类:CSS伪类用于向某些选择器添加特殊的效果。 css伪元素:CSS伪元素用于向某些选择器设置特殊效果。 伪元素由双冒号和伪元素名称组成。双冒号是在当前规范中引入的,用于区分伪类和伪元素。但是伪类兼容现存样式,浏览器需要同时支持旧的伪类,如:first-line,:first-letter,:before,:after等等。因此对于css2之前已经有的伪元素两种写法的作用是一样的,但是为了兼容IE浏览器还是使用单冒号的写法。
