Rumah >hujung hadapan web >tutorial css >Bagaimanakah Saya Boleh Menggayakan Bahagian Tertentu bagi Nilai Medan Input?

Bagaimanakah Saya Boleh Menggayakan Bahagian Tertentu bagi Nilai Medan Input?

Barbara Streisand
Barbara Streisandasal
2024-12-02 19:31:09153semak imbas

How Can I Style Specific Parts of an Input Field's Value?

Menggayakan Bahagian Khusus Nilai Input

Mengenai penggayaan bahagian tertentu nilai medan input, perlu diperhatikan bahawa gaya secara intrinsik digunakan kepada sesuatu unsur secara keseluruhannya. Walau bagaimanapun, untuk mencapai kesan yang diingini memerlukan pendekatan kreatif untuk mematuhi kekangan penanda semantik.

Gambaran Keseluruhan Penyelesaian

Penyelesaian melibatkan pembahagian medan input berdasarkan titik penyuntingan pengguna kepada tiga bahagian:

  1. Teks sebelum suntingan titik
  2. Teks boleh diedit pada titik penyuntingan
  3. Teks selepas titik penyuntingan

Manipulasi Elemen Dinamik

Sebagai titik penyuntingan boleh beralih, JavaScript menjadi perlu untuk penyelesaian dinamik. Pada mulanya, gantikan elemen input dengan elemen bekas yang digayakan untuk meniru medan input. Kemudian, gunakan JavaScript untuk membalut tiga bahagian yang dinyatakan di atas dalam elemen berasingan (cth., span) dan gunakan warna yang diingini dengan sewajarnya.

Penanda Dijana

Struktur HTML berikut boleh berfungsi sebagai titik permulaan untuk penanda gantian yang dijana secara dinamik:

<div class="input">
  <span class="nonEdited before">foo</span>
  <span class="edited">fizz</span>
  <span class="nonEdited after">bar</span>
</div>

Acara Pengendalian

Akhir sekali, acara klik, keydown dan keyup boleh digunakan untuk mengenal pasti tiga bahagian dan membalutnya dengan sewajarnya. Ini memastikan penggayaan mencerminkan input pengguna secara dinamik.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggayakan Bahagian Tertentu bagi Nilai Medan Input?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn