Rumah  >  Artikel  >  hujung hadapan web  >  Memperkemas Gaya: Pembolehubah CSS untuk Kod Boleh Diselenggara

Memperkemas Gaya: Pembolehubah CSS untuk Kod Boleh Diselenggara

王林
王林asal
2024-08-22 08:32:03883semak imbas

Berikut ialah beberapa cerapan tentang cara pembolehubah CSS boleh memudahkan sokongan komponen boleh guna semula dan boleh suai. Tidak kira rangka kerja yang anda gunakan, pendekatan ini kekal sebagai rangka kerja agnostik.

Komponen sampel

Andaikan saya perlu menambah komponen Bar Kemajuan pada kit UI saya. Menggunakan React sebagai contoh, berikut ialah pelaksanaan yang mudah.

import "./ProgressBar.css";

export function ProgressBar({percentage} : {percentage: number} ){
  return ( 
    <div className="progress-bar">
      <div className="fill"
        style={{ width: percentage + "%"}}
      />
    </div>
  )
}

Dan CSS untuk menambah warna dan peraturan asas

.progress-bar{
  width: 200px;
  height: 20px;
  border: 1px solid black;
}

.progress-bar .fill{
  height: 100%;
  background: black;
}

Ia hitam secara lalai dan kelihatan seperti ini

Streamlining Styles: CSS Variables for Maintainable Code

Komponen tersebut sepatutnya digunakan semula dalam pelbagai bahagian apl saya. Saya menjangkakan bahawa setiap pengguna harus mempunyai fleksibiliti untuk menyesuaikan warna bar dan sempadannya agar sejajar dengan keperluan khusus dan skema warna mereka.

Saya mengharapkan pengguna menyediakan peraturan CSS mereka sendiri untuk mengatasi warna lalai. Sebagai contoh, pengguna boleh menulis CSS berikut untuk menjadikan bar kemajuan hijau dalam bahagian muat naik.

#upload .progress-bar{
  border-color: green
}
#upload .progress-bar .fill {
  background-color: green;
}

Penyesuaian ini berfungsi seperti yang diharapkan.

Streamlining Styles: CSS Variables for Maintainable Code

Setiap pengguna boleh menggunakan pendekatan yang sama, dan pada pandangan pertama, ia kelihatan seperti penyelesaian yang kukuh.

Masalah

Walau bagaimanapun, cara penyesuaian itu datang dengan beberapa kelemahan

Pepijat masa hadapan: Dalam jangka masa panjang, komponen bar kemajuan akan dikemas kini atau difaktorkan semula. Penyesuaian akan rosak jika kelas dinamakan semula atau hierarki teg ditukar.
? Beban kognitif pengguna: Pembangun yang menggunakan komponen saya perlu memeriksa struktur HTMLnya untuk menentukan peraturan CSS yang diperlukan untuk mengatasi nilai lalai.
⚒️ Kod penyesuaian yang menyusahkan: Mengubah suai kedua-dua warna bar dan sempadannya memerlukan penulisan dua peraturan yang berasingan.

Sudah tentu, ia bukan masalah besar untuk kes mudah seperti ProgressBar kami. Walau bagaimanapun, komponen yang lebih kompleks dalam kit UI yang besar, terutamanya apabila digunakan oleh ramai pembangun, boleh memberikan cabaran yang ketara.

Pembolehubah CSS sebagai penyelesaian

Untuk memudahkan penyesuaian dan mengurangkan isu ini, kami boleh memanfaatkan pembolehubah CSS.

Dalam komponen sampel saya, perubahan dibuat hanya dalam fail CSS

.progress-bar{
  --progress-bar-color: black;
  width: 200px;
  height: 20px;
  border: 1px solid var(--progress-bar-color);
}

.progress-bar .fill{
  height: 100%;
  background: var(--progress-bar-color);
}

Perhatikan bahawa saya mengisytiharkan pembolehubah --progress-bar-color untuk menetapkan warna. Pengguna kini boleh menyesuaikan komponen semudah

#upload .progress-bar{
  --progress-bar-color: green;
}

Dengan pendekatan baharu ini, mari kita semak semula senarai masalah penyesuaian

Pepijat masa hadapan: Sebagai pembangun bar kemajuan, saya boleh mengubah suai nama kelas dan hierarki mengikut keperluan. Walau bagaimanapun, selagi saya menggunakan pembolehubah CSS dengan betul pada elemen yang dikemas kini, penyesuaian warna yang dibuat oleh pengguna kekal utuh.
? Beban kognitif pengguna: Pengguna tidak perlu lagi memeriksa kod komponen saya untuk menyesuaikan warna. Pembolehubah CSS bertindak sebagai 'antara muka' atau 'abstraksi,' membolehkan mereka menetapkan warna yang diingini sahaja tanpa menyelidiki butiran pelaksanaan.
⚒️ Kod penyesuaian yang menyusahkan: Kini, satu peraturan CSS boleh menyesuaikan kedua-dua elemen isian dan sempadan.

Manfaat tambahan

Dari segi penyesuaian warna, bergantung pada pembolehubah CSS menyelaraskan penggunaan skema warna umum. Anda boleh mengurus semua tetapan warna dengan fail CSS ringkas yang mentakrifkan pembolehubah merentas seluruh halaman.

Kini, semua warna pada halaman boleh dikawal dari satu lokasi. Untuk mengemas kini warna untuk keseluruhan halaman, cuma gantikan takrifan pembolehubah CSS dengan set baharu.

Pendekatan ini juga memudahkan pelaksanaan ciri seperti tema terang/gelap atau pilihan warna yang ditentukan pengguna.

Hasil

? Kebolehselenggaraan yang lebih baik: Dengan menggunakan penyesuaian melalui pembolehubah CSS, pangkalan kod menjadi lebih boleh diselenggara, menjadikan kemas kini masa hadapan lebih mudah dan tidak memakan masa.

? Kod Rawan Pepijat yang Dikurangkan: Pemisahan yang jelas antara dalaman komponen dan antara muka penyesuaiannya meminimumkan risiko pepijat, kerana perubahan pada pelaksanaan dalaman tidak menjejaskan cara komponen disesuaikan.

? Kod menjadi lebih mudah untuk difahami: Penggunaan pembolehubah CSS menjadikan penyelesaian lebih intuitif dan lebih mudah difahami. Pembangun boleh memahami dengan cepat cara mengubah suai gaya tanpa menyelidiki kod yang kompleks atau legap.

♾️ Framework-agnostic: Anda boleh menggunakan pendekatan ini di mana-mana kerana ia bergantung pada ciri penyemak imbas sahaja.

Atas ialah kandungan terperinci Memperkemas Gaya: Pembolehubah CSS untuk Kod Boleh Diselenggara. 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
Artikel sebelumnya:Bina Laman Web Senarai TodoArtikel seterusnya:Bina Laman Web Senarai Todo