Laman » Pengekodan » A Look into Atribut Pemegang HTML5

    A Look into Atribut Pemegang HTML5

    Salah satu kepingan baru kegemaran saya dalam HTML5 adalah keupayaan untuk menambah Teks Pemegang Tempat dengan mudah. Teks ruang letak adalah teks abu-abu yang anda dapati dalam medan input yang digunakan untuk memberi petunjuk kepada pengguna tentang apa yang diharapkan dalam medan tersebut. Sekali pengguna mula menaip di input bidang, teks ini akan hilang.

    Pada zaman dahulu, kita biasanya melakukan ini dengan JavaScript, seperti berikut;

      

    Tidak ada yang salah dengan amalan ini, tetapi lebih mudah pada HTML5.

    HTML5 memperkenalkan atribut baru dengan nama logik; pemegang tempat. Inilah contohnya:

      

    Jika kita melihatnya pada pelayar, inputnya kini mempunyai teks kelabu, seperti yang dilihat di bawah;

    Beberapa perkara yang harus diperhatikan: mengikut spesifikasi, pemegang tempat atribut tidak boleh digunakan sebagai alternatif kepada a label dan juga dicadangkan bahawa atribut ini hanya boleh digunakan untuk input jenis yang memerlukan teks, contohnya. teks, kata laluan, carian, e-mel, textarea dan tel.

    Menambah pemegang tempat kepada input jenis: radio dan kotak semak tidak akan membuat perbezaan.

    Placeholder & CSS

    Selain itu, penggayaan teks pemegang tempat melalui CSS juga mungkin, tetapi pada masa penulisan ini masih terhad kepada hanya pelayar Firefox dan Webkit.

    Contoh berikut menunjukkan bagaimana kita mengubah teks pemegang tempat menjadi hijau dalam Webkit dan Firefox;

     input :: - webkit-input-placeholder color: green;  input: -moz-placeholder color: green;  

    Hanya ingat, :: - webkit-input-placeholder dan : -moz-placeholder hanya akan menjejaskan teks dan tidak boleh ditulis secara selari.

     input :: - webkit-input-placeholder, input: -moz-placeholder color: green;  

    Sekeping kod ini tidak akan berfungsi.

    Pemilih Attribut

    CSS3 juga datang untuk menyokong atribut ini dengan memperkenalkan [pemegang tempat] pemilih sifat;

     input [ruang letak] sempadan: 1px pepejal hijau;  

    Dalam contoh di atas, kami memilih setiap input yang mempunyai pemegang tempat atribut dan ubah sempadan ke hijau.

    Keserasian Penyemak Imbas

    Ciri HTML5 baru ini tidak mengejutkan tidak disokong dalam penyemak imbas lama dan pada masa ini hanya disokong sepenuhnya dalam: Firefox 4+, Chrome 4+, Safari 5+, Opera 11.6 dan Internet Explorer 10 (yang belum lagi dikeluarkan secara rasmi).

    Polyfills Pemegang tempat

    Walau bagaimanapun, jika kita perlu memaparkan pemegang tempat di pelayar lama tetapi masih boleh menggunakannya pemegang tempat atribut, kita boleh menggunakan Polyfills. Terdapat banyak Polyfills Pemegang tempat di luar sana tetapi dalam contoh ini kita akan menggunakan PlaceMe.js;

       

    The PlaceMe.js, seperti yang anda lihat dari coretan kod di atas, bergantung kepada jQuery. Sekarang, jika kita melihatnya, sebagai contoh, Internet Explorer 9 semua input kini akan memaparkan teks pemegang tempat.

    • Lihat Demo
    • Muat turun Sumber

    Pemikiran Akhir

    The Pemegang tempat HTML5 atribut pastinya menjadikan penambahan teks pemegang tempat lebih mudah. Kini terpulang kepada kami, pemaju web dan pereka, untuk memilih cara yang digunakan: JavaScript atau HTML5.

    Jika anda menganggap bahawa menggunakan Polyfills dan jQuery untuk menyokong penyemak imbas lama adalah berlebihan, maka JavaScript nampaknya lebih sesuai untuk tugas tersebut. Tetapi jika anda boleh mengabaikan peramban lama dengan tenang kemudian menggunakan Pemegang HTML5 mungkin cara yang lebih baik.