uygulama
Üç farklı uygulama vardır: sözde elemanlar, sözde sınıflar ve hiçbir şey.
- WebKit, Blink (Safari, Google Chrome, Opera 15+) ve Microsoft Kenar sahte elemanı kullanıyorsunuz:
::-webkit-input-placeholder
. [ Ref ]
- Mozilla Firefox 4 ila 18, sözde sınıf kullanıyor:
:-moz-placeholder
( bir iki nokta üst üste). [ Ref ]
- Mozilla Firefox 19+ sahte bir öğe kullanıyor:
::-moz-placeholder
ancak eski seçici bir süre daha çalışacak. [ Ref ]
- Internet Explorer 10 ve 11 sahte sınıfını kullanıyorsunuz:
:-ms-input-placeholder
. [ Ref ]
- Nisan 2017: Modern tarayıcıların çoğu basit sözde elemanı destekliyor
::placeholder
[ Ref ]
Internet Explorer 9 ve alt desteklemediği placeholder
hiç niteliği, süre Opera 12 ve desteklemeyen düşürmek tutucuları için herhangi CSS seçici.
En iyi uygulama ile ilgili tartışmalar devam etmektedir. Sahte öğelerin Shadow DOM'daki gerçek öğeler gibi davrandığını unutmayın . padding
Üzerindeki bir A input
, sözde öğeyle aynı arka plan rengini elde etmez.
CSS seçicileri
Kullanıcı aracıları, bilinmeyen bir seçiciyle bir kuralı yok saymak zorundadır. Seviye 3 Seçicilerine bakınız :
geçersiz bir seçici içeren bir grup seçici geçersiz.
Bu yüzden her tarayıcı için ayrı kurallara ihtiyacımız var. Aksi takdirde, tüm grup tüm tarayıcılar tarafından yok sayılır.
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
color: #909;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
color: #909;
opacity: 1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
color: #909;
opacity: 1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
color: #909;
}
::-ms-input-placeholder { /* Microsoft Edge */
color: #909;
}
::placeholder { /* Most modern browsers support this now. */
color: #909;
}
<input placeholder="Stack Snippets are awesome!">
Kullanım notları
- Kötü kontrastlardan kaçınmaya dikkat edin. Firefox'un yer tutucusu düşük bir opaklıkla varsayılan görünüyor, bu yüzden
opacity: 1
burada kullanılması gerekiyor.
- Yer tutucu metnin yalnızca giriş öğelerinizi boyutlandırmaması durumunda kesileceğini
em
ve büyük minimum yazı tipi boyutu ayarlarıyla test edildiğini unutmayın. Çevirileri unutmayın: bazı diller aynı kelime için daha fazla alana ihtiyaç duyar .
- HTML desteği olan
placeholder
ancak bunun için CSS desteği olmayan (Opera gibi) tarayıcılar da test edilmelidir.
- Bazı tarayıcılar bazı
input
türler için ek varsayılan CSS kullanır ( email
, search
). Bunlar, oluşturmayı beklenmedik şekillerde etkileyebilir. Kullanım özellikleri -webkit-appearance
ve -moz-appearance
bunu değiştirmek için. Misal:
[type="search"] {
-moz-appearance: textfield;
-webkit-appearance: textfield;
appearance: textfield;
}