Karena IE7 dan IE8 tidak mendukung notasi titik dua ganda untuk elemen semu (misalnya ::after
atau ::first-letter
), dan karena browser modern mendukung notasi titik dua (misalnya :after
) untuk kompatibilitas mundur, sebaiknya saya hanya menggunakan notasi titik dua tunggal dan kapan Pangsa pasar IE8 turun ke tingkat yang dapat diabaikan kembali dan temukan / ganti di basis kode saya? Atau haruskah saya memasukkan keduanya:
.foo:after,
.foo::after { /*styles*/ }
Menggunakan ganda saja tampaknya konyol jika saya peduli dengan pengguna IE8 (sayang malang).
sumber
Dari CSS3 Selectors REC :
Tampaknya Anda aman menggunakan (hanya) notasi satu titik dua untuk elemen pseudo yang sudah ada di CSS2.1 karena UA harus kompatibel dengan versi sebelumnya.
sumber
Saya benar-benar tidak setuju dengan @mddw dan @FelipeAls, sehubungan dengan mempertimbangkan penggunaan satu titik dua "aman".
Mentalitas "Saya akan menggunakannya meskipun sudah usang" inilah yang menyebabkan teknologi berbasis browser sangat lambat dalam kemajuan dan kemajuannya.
YA, kami ingin menjaga kompatibilitas dengan standar lama. Mari kita hadapi itu, ini tangan yang telah kita tangani. TAPI, ini tidak berarti Anda memiliki alasan untuk malas dalam perkembangan Anda, dengan mengabaikan standar saat ini dan mendukung standar yang sudah usang.
Tujuan keluarnya adalah untuk menjaga kepatuhan dengan standar saat ini, sambil mendukung sebanyak mungkin standar warisan.
Jika pseudo-elemen digunakan
:
di CSS2 dan::
CSS3, kita tidak boleh menggunakan salah satu; kita harus menggunakan keduanya .Untuk sepenuhnya menjawab pertanyaan asli yang diajukan, berikut ini adalah metode yang paling tepat untuk mendukung implementasi CSS terkini (versi 3), dengan tetap mempertahankan dukungan lama untuk versi 2.
sumber
::
. Menurut pendekatan Anda, individu kemudian akan mulai mencampur-dan-mencocokkan penggunaan:
dan::
untuk elemen semu. Mematuhi secara eksplisit standar lama (yang untuk sementara mungkin didukung,) merupakan praktik yang pada dasarnya buruk dan harus dihindari jika memungkinkan. Jika Anda tidak setuju dengan pernyataan itu, kami hanya memiliki pandangan yang berbeda.Namun, semakin populer menggunakan polyfill untuk javascript dan CSS baru, jadi Anda mungkin ingin tetap menggunakan
::
sintaks double-colon ( ) yang lebih baru, dan mempertahankan polyfill untuk browser lama, selama itu diperlukan.sumber
Untuk apa itu layak menurut Statistik Browser IE 8.0 telah turun menjadi kurang dari 1% di AS selama setahun terakhir.
http://gs.statcounter.com/browser-version-p Partially-combined-market-share/desktop/united-states-of-america/#monthly-201512-201612
Pada Desember 2015 IE 8.0 memiliki 2,92% pasar. Pada bulan Desember 2016 IE 8.0 memiliki 0,77% dari pasar.
Pada tingkat penurunan itu, bukan ide terburuk untuk berhenti mendukung versi lama IE dan mulai menggunakan :: for Pseudo Elements.
sumber
Menyertakan kedua notasi tentu lebih aman, tetapi saya tidak dapat melihat browser apa pun yang menghapus satu notasi untuk waktu yang lama, jadi hanya satu yang akan baik-baik saja (ini adalah CSS2 yang valid.)
Secara pribadi saya hanya menggunakan notasi titik dua, kebanyakan karena kebiasaan.
sumber