當我注意到一些奇怪的東西時,我在Codepen(Chrome 59.0.3071)上僞裝::placeholder
pseudoelement。 (請參閱我的JSFiddle)爲什麼在Chrome中佔位符僞元素的transition屬性有效?
總之,這個CSS不應啓用::placeholder
顏色的超過2秒的轉變:
input::placeholder {color:red;transition:2s;}
input:hover::placeholder {color:green}
使用Firefox瀏覽器,有超過上懸停2秒的時間間隔內沒有色彩過渡(這似乎是正確的根據W3C規範的this section和另一個不同的this section - 遵循::first-line
僞元素的線程),但相反,有一個立即顏色過渡到綠色;
但是,使用鉻相同的jsfiddle不顯示在2秒的週期,而根據規格,似乎不正確一個::placeholder
顏色過渡。
這是這個版本的Chrome中的錯誤(如果是這樣,它是否被解決?)或者這是對我對CSS缺乏理解的控告?
https://jsfiddle.net/09gc1wvd/我能得到FF 54使用括號做過渡,而不是''::,所以也許規格是錯了嗎? –
@SamuelCook這些是完全不同的東西!使用括號表示法,您可以選擇原始元素,而不是僞元素。選擇器'input:hover [placeholder]'表示「懸停的'input'元素*,*具有'佔位符屬性」。所以你的例子並不能證明規範是錯誤的w.r.t. _placeholder僞元素_(儘管它們可能是:)。 –
有趣的是,該規範要求':: placeholder'具有'::第一line'的所有屬性,但是當你做同樣的實驗上'::第一line',既FF和Chrome都沒有變。看[這個小提琴](https://jsfiddle.net/Auroratide/fr017m9L/1/)並觀察其差異。仔細閱讀規範,我不清楚':: placeholder'屬性的集合是':: first-line'屬性的_superset_還是完全相等。 – Auroratide