亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Jadual Kandungan
Cascades bersarang
dalam lapisan lata yang direka untuk menampung sebarang jenis komponen dalam sistem reka bentuk kami. Di dalam ini
Jika kita menganggap perintah cascades -selalu mengalir dari atas ke bawah -kita tidak mahu gaya yang diubahsuai mempengaruhi gaya di lapisan negara yang baru saja kita buat. Oleh itu mari kita tambahkan lapisan pengubah baru antara elemen dan keadaan:
Mengintegrasikan segala -galanya bersama -sama
Rumah hujung hadapan web tutorial css Menguruskan Corak Komponen Sistem Reka Bentuk dengan Lapisan Cascade CSS

Menguruskan Corak Komponen Sistem Reka Bentuk dengan Lapisan Cascade CSS

Mar 07, 2025 pm 04:39 PM

Organizing Design System Component Patterns With CSS Cascade Layers

Artikel ini membincangkan cara menggunakan lapisan CSS Cascade untuk meningkatkan kebolehcapaian, kecekapan, kemudahan penggunaan dan kemudahan pemahaman komponen.

Saya bersemangat tentang organisasi kod dan mendapati bahawa cascade adalah cara terbaik untuk mengatur kod anda secara eksplisit kerana ia mengikuti perintah baca Cascade secara langsung. Lebih baik lagi, selain membantu organisasi "peringkat atas", cascades juga boleh bersarang, membolehkan kita menulis gaya yang lebih tepat berdasarkan cascades.

Satu-satunya kelemahan adalah imaginasi anda-tidak ada yang dapat menghalang kami dari CSS yang terlalu banyak. Untuk menjadi jelas, anda mungkin akan berfikir bahawa apa yang akan saya tunjukkan adalah satu tahun yang berlebihan. Tetapi saya fikir saya telah menemui titik keseimbangan, menyimpannya mudah dan teratur, dan gembira untuk berkongsi penemuan saya.

Komposisi mod komponen CSS

mari kita gunakan butang sebagai contoh untuk meneroka corak penulisan komponen menggunakan CSS. Butang adalah salah satu komponen yang paling popular di hampir setiap perpustakaan komponen. Terdapat sebab untuk populariti ini, kerana butang boleh digunakan dalam pelbagai kes penggunaan termasuk:

    melakukan tindakan, seperti membuka laci,
  • menavigasi ke bahagian yang berlainan dari UI, dan
  • menyimpan beberapa negeri, seperti fokus atau hover.
dan butang datang dalam pelbagai bentuk penandaan yang berbeza, seperti

, <button></button> dan input[type="button"]. Jika anda percaya, terdapat lebih banyak cara untuk membuat butang. <a></a>

yang paling penting, butang yang berbeza melakukan fungsi yang berbeza dan biasanya digayakan dengan sewajarnya supaya butang satu operasi dibezakan dari butang operasi lain. Butang juga bertindak balas terhadap perubahan keadaan, seperti ketika mereka melayang, bergerak, dan fokus. Jika anda pernah menulis CSS menggunakan sintaks BEM, kita boleh berfikir sepanjang idea yang sama dalam konteks lapisan cascade.

Baiklah, mari tulis kod sekarang. Khususnya, mari buat beberapa jenis butang. Kami akan mulakan dengan kelas

yang boleh kami tetapkan kepada mana -mana elemen yang kami mahu tetapkan sebagai butang! Kami sudah tahu bahawa butang datang dalam pelbagai bentuk tag yang berbeza, jadi kelas
<code>.button {}
.button-primary {}
.button-secondary {}
.button-warning {}
/* etc. */</code>
biasa adalah cara yang paling boleh diguna semula dan boleh diperpanjang untuk memilih satu atau semua butang ini.

.button .button menggunakan cascades

<code>.button {
  /* 所有按鈕的通用樣式 */
}</code>
di sini, kita boleh memasukkan lapisan cascade pertama kami! Ingat, sebab kami mahu lapisan cascade terlebih dahulu ialah ia membolehkan kami menetapkan susunan bacaan CSS Cascade ketika menilai gaya. Kita boleh memberitahu CSS untuk menilai satu lapisan terlebih dahulu, kemudian lapisan lain, kemudian lapisan lain - semuanya mengikut urutan yang kita mahu. Ini adalah ciri yang luar biasa yang memberi kita kuasa super untuk mengawal gaya penyemak imbas yang digunakan untuk "menang".

Kami namakan lapisan ini components kerana butang adalah komponen. Alasan saya suka namanya adalah bahawa ia cukup generik untuk menyokong komponen lain yang akan kita tambahkan pada masa depan apabila memutuskan untuk memperluaskan sistem reka bentuk. Ia berskala dengan kami sambil mengekalkan pemisahan yang baik dari gaya lain yang kami tulis pada masa akan datang yang mungkin tidak khusus untuk komponen.

<code>.button {}
.button-primary {}
.button-secondary {}
.button-warning {}
/* etc. */</code>

Cascades bersarang

di mana perkara mendapat sedikit pelik ada di sini. Adakah anda tahu bahawa anda boleh bersarang lapisan Cascade di dalam kelas ? Ini adalah perkara yang penuh. Jadi, melihat ini, kita boleh memperkenalkan lapisan baru di dalam kelas yang sudah terletak di dalam lapisannya sendiri. Inilah yang saya maksudkan: .button Akhirnya, ini adalah bagaimana penyemak imbas menafsirkan lapisan dalaman:

<code>.button {
  /* 所有按鈕的通用樣式 */
}</code>

Jawatan ini bukan hanya tentang gaya bersarang, jadi saya hanya ingin mengatakan bahawa perbatuan anda mungkin berbeza -beza apabila anda melakukannya. Semak artikel terbaru Andy Bell mengenai menggunakan gaya bersarang dengan berhati -hati.

<code>/* 組件頂級(jí)層 */
@layer components {
  .button {
    /* 所有按鈕的通用樣式 */
  }
}</code>
Struktur gaya

Setakat ini, kami telah menubuhkan kelas

dalam lapisan lata yang direka untuk menampung sebarang jenis komponen dalam sistem reka bentuk kami. Di dalam ini

adalah satu lagi lapisan cascade yang digunakan untuk memilih pelbagai jenis butang yang mungkin kita hadapi dalam tag. Kami telah membincangkan sebelum ini bahawa butang itu

, .button atau .button, iaitu bagaimana kita memilih untuk gaya setiap jenis secara individu. <button></button> <input> kita boleh menggunakan fungsi <a></a> pseudo-selector, yang sama dengan berkata: "Jika ini

adalah :is() unsur .button, maka gaya-gaya ini digunakan." <a></a> Tentukan gaya butang lalai

<code>/* 組件頂級(jí)層 */
@layer components {

  .button {
    /* 組件元素層 */
    @layer elements {
      /* 樣式 */
    }
  }
}</code>
Saya akan mengisi kod kami dengan gaya sejagat yang berfungsi untuk semua butang. Gaya ini terletak di bahagian atas lapisan elemen, jadi ia akan digunakan untuk mana -mana dan semua butang tanpa mengira penandaan. Mereka boleh dianggap sebagai gaya butang lalai.

Tentukan gaya status butang

<code>@layer components {
  @layer elements {
    .button {
      /* 按鈕樣式... */
    }
  }
}</code>
Apa yang perlu pengguna lakukan apabila mereka berinteraksi dengan butang lalai? Ini adalah negara -negara yang berbeza yang butang mungkin mengambil apabila pengguna berinteraksi dengan mereka, dan kita perlu gaya mereka dengan sewajarnya.

Saya akan membuat sublayer yang baru dilancarkan secara langsung di bawah sublayer elemen, yang disebut secara kreatif "menyatakan" (negeri):

Jeda dan fikirkannya di sini. Negeri apa yang harus kita targetkan? Apa yang kita mahu ubah bagi setiap negeri ini?

Beberapa negeri boleh berkongsi perubahan harta yang sama, seperti :hover dan :focus dengan warna latar yang sama. Nasib baik, CSS memberikan kita alat untuk menyelesaikan masalah tersebut, menggunakan fungsi :where() untuk perubahan harta benda berdasarkan keadaan. Mengapa menggunakan :where() bukan :is()? :where() mempunyai kekhususan sifar, yang bermaksud lebih mudah untuk menutup daripada , mengambil kekhususan elemen dengan skor kekhususan tertinggi dalam parameternya. Menjaga kekhususan rendah adalah kebajikan apabila menulis CSS yang boleh diselaraskan, yang boleh dikekalkan. :is() :is()

Tetapi bagaimana kita mengemas kini gaya butang dengan cara yang bermakna? Maksud saya, bagaimana kita memastikan butang kelihatan seperti hover atau fokus? Kami hanya perlu menambah warna latar belakang baru, tetapi idealnya warna harus dikaitkan dengan
<code>.button {}
.button-primary {}
.button-secondary {}
.button-warning {}
/* etc. */</code>
yang ditetapkan dalam lapisan elemen.

jadi mari kita refactor sedikit. Sebelum ini, saya menetapkan unsur background-color ke

. Saya mahu menggunakan semula warna, jadi lebih baik untuk menukarnya kepada pembolehubah CSS supaya kami dapat mengemas kini sekaligus dan menjadikannya terpakai di mana -mana. Bergantung pada pembolehubah adalah satu lagi kelebihan menulis CSS berskala dan dikekalkan.

.button saya akan membuat pembolehubah baru yang dipanggil background-color yang pada mulanya ditetapkan ke darkslateblue dan kemudian tetapkannya ke gaya butang lalai:

--button-background-color Sekarang kita telah menyimpan warna dalam pembolehubah, kita boleh menetapkan pemboleh ubah yang sama kepada hover dan fokus keadaan butang dalam lapisan lain, menukar darkslateblue ke warna yang lebih ringan menggunakan fungsi

yang agak baru, apabila butangnya dilegakan atau difokuskan.
<code>.button {
  /* 所有按鈕的通用樣式 */
}</code>

Kembali ke lapisan negeri kita! Kami mula -mula menggabungkan warna dalam pembolehubah CSS baru yang dipanggil color-mix(): darkslateblue

kita boleh memohon warna itu dengan mengemas kini atribut --state-background-color.

<code>/* 組件頂級(jí)層 */
@layer components {
  .button {
    /* 所有按鈕的通用樣式 */
  }
}</code>

Tentukan gaya butang yang diubah suai background-color

Di samping unsur -unsur dan lapisan negara, anda juga mungkin mencari beberapa jenis perubahan dalam komponen, seperti pengubah. Ini kerana tidak semua butang akan menjadi seperti butang lalai anda. Anda mungkin mahu butang dengan warna latar belakang hijau untuk pengguna mengesahkan keputusan. Atau anda mungkin mahu butang merah yang menunjukkan bahaya apabila diklik. Oleh itu, kita boleh mengambil gaya butang lalai sedia ada dan mengubah suai mereka untuk kes -kes penggunaan khusus ini.
<code>/* 組件頂級(jí)層 */
@layer components {

  .button {
    /* 組件元素層 */
    @layer elements {
      /* 樣式 */
    }
  }
}</code>

Jika kita menganggap perintah cascades -selalu mengalir dari atas ke bawah -kita tidak mahu gaya yang diubahsuai mempengaruhi gaya di lapisan negara yang baru saja kita buat. Oleh itu mari kita tambahkan lapisan pengubah baru antara elemen dan keadaan:

Sama seperti bagaimana kita mengendalikan keadaan, kita kini boleh mengemas kini pembolehubah

untuk setiap pengubah butang. Sudah tentu, kita dapat mengubah gaya lebih jauh, tetapi kita tetap mudah untuk menunjukkan bagaimana sistem ini berfungsi.

kami akan membuat kelas baru yang mengubah butang lalai background-color dari darkslateblue ke darkgreen. Sekali lagi, kita boleh bergantung pada pemilih :is() kerana dalam kes ini kita memerlukan peningkatan kekhususan. Dengan cara ini, kita boleh mengatasi gaya butang lalai dengan kelas pengubah. Kami memanggil kelas ini .success (hijau adalah warna "kejayaan") dan memberikannya kepada :is():

<code>.button {}
.button-primary {}
.button-secondary {}
.button-warning {}
/* etc. */</code>

Jika kita menambah kelas .success ke salah satu butang kita, ia akan menjadi darkgreen bukannya darkslateblue, yang betul -betul kita mahu. Oleh kerana kami telah melakukan beberapa operasi color-mix() di lapisan negara, kami secara automatik akan mewarisi gaya hover dan fokus ini, yang bermaksud bahawa darkgreen akan menjadi cetek di negeri -negeri ini.

<code>.button {
  /* 所有按鈕的通用樣式 */
}</code>

Mengintegrasikan segala -galanya bersama -sama

kita boleh refactor mana -mana atribut CSS yang perlu diubah suai ke dalam atribut adat CSS, yang memberikan kita banyak ruang penyesuaian.

<code>/* 組件頂級(jí)層 */
@layer components {
  .button {
    /* 所有按鈕的通用樣式 */
  }
}</code>

Sila ambil perhatian: Lihatlah dengan lebih dekat pada demo dan lihat bagaimana saya menyesuaikan latar belakang butang menggunakan light-dark() -dan baca Sara Joy's "Come to the Light-Dark () Side" untuk mendapatkan pandangan penuh bagaimana ia berfungsi!

apa pendapat anda? Adakah anda akan menggunakannya untuk mengatur gaya anda? Untuk projek kecil dengan beberapa komponen, mewujudkan sistem lata boleh terlalu banyak. Tetapi sedikit percubaan seperti yang kita lakukan sekarang dapat menunjukkan berapa banyak yang kita ada dalam mengurus - atau bahkan menjinakkan - CSS cascades. Butang adalah rumit yang rumit, tetapi kita melihat berapa banyak gaya yang diperlukan untuk mengendalikan gaya dari gaya lalai untuk menulis versi negeri dan diubahsuai mereka.

Atas ialah kandungan terperinci Menguruskan Corak Komponen Sistem Reka Bentuk dengan Lapisan Cascade CSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Tutorial CSS untuk membuat pemuatan dan animasi pemuatan Tutorial CSS untuk membuat pemuatan dan animasi pemuatan Jul 07, 2025 am 12:07 AM

Terdapat tiga cara untuk membuat pemutar pemuatan CSS: 1. Gunakan pemutar asas sempadan untuk mencapai animasi mudah melalui HTML dan CSS; 2. Gunakan pemutar tersuai pelbagai mata untuk mencapai kesan lompat melalui masa kelewatan yang berlainan; 3. Tambahkan pemutar dalam butang dan beralih kelas melalui JavaScript untuk memaparkan status pemuatan. Setiap pendekatan menekankan pentingnya butiran reka bentuk seperti warna, saiz, kebolehcapaian dan pengoptimuman prestasi untuk meningkatkan pengalaman pengguna.

Menangani masalah dan awalan keserasian penyemak imbas CSS Menangani masalah dan awalan keserasian penyemak imbas CSS Jul 07, 2025 am 01:44 AM

Untuk menangani keserasian pelayar CSS dan isu awalan, anda perlu memahami perbezaan sokongan penyemak imbas dan menggunakan awalan vendor dengan munasabah. 1. Memahami masalah biasa seperti Flexbox dan sokongan grid, kedudukan: prestasi tidak sah, dan prestasi animasi adalah berbeza; 2. Periksa status sokongan ciri CANIUSE Ciri; 3. Gunakan dengan betul -webkit-, -moz-, -ms-, -o- dan awalan pengeluar lain; 4. Adalah disyorkan untuk menggunakan autoprefixer untuk menambah awalan secara automatik; 5. Pasang postcss dan konfigurasi penyemak imbas untuk menentukan penyemak imbas sasaran; 6. Secara automatik mengendalikan keserasian semasa pembinaan; 7. Ciri -ciri pengesanan moden boleh digunakan untuk projek lama; 8. Tidak perlu meneruskan konsistensi semua pelayar,

Membuat bentuk tersuai dengan laluan klip CSS Membuat bentuk tersuai dengan laluan klip CSS Jul 09, 2025 am 01:29 AM

Gunakan atribut clip-path CSS untuk menanam unsur-unsur ke dalam bentuk tersuai, seperti segitiga, takik bulat, poligon, dan lain-lain, tanpa bergantung pada gambar atau SVG. Kelebihannya termasuk: 1. Menyokong pelbagai bentuk asas seperti Circle, Ellipse, Polygon, dan lain -lain; 2. Pelarasan responsif dan boleh disesuaikan dengan terminal mudah alih; 3. Mudah untuk animasi, dan boleh digabungkan dengan hover atau javascript untuk mencapai kesan dinamik; 4. Ia tidak menjejaskan aliran susun atur, dan hanya tanaman kawasan paparan. Penggunaan umum adalah seperti laluan klip bulat: bulatan (50pxatcenter) dan triangle clip-path: polygon (50%0%, 100 0%, 0 0%). Notis

Apakah perbezaan antara paparan: inline, paparan: blok, dan paparan: blok sebaris? Apakah perbezaan antara paparan: inline, paparan: blok, dan paparan: blok sebaris? Jul 11, 2025 am 03:25 AM

Themaindifferencesbetweendisplay: inline, block, andinline-blockinhtml/cssarelayoutbehavior, spaceusage, andstylingcontrol.1.inlineelementsflowwithtext, notstartonNewlines, abaikanwidth/height, andonyapplylylylylylinddding/

Gaya yang dikunjungi pautan berbeza dengan CSS Gaya yang dikunjungi pautan berbeza dengan CSS Jul 11, 2025 am 03:26 AM

Menetapkan gaya pautan yang telah anda lawati dapat meningkatkan pengalaman pengguna, terutama di laman web yang berintensifkan kandungan untuk membantu pengguna menavigasi lebih baik. 1. Gunakan CSS: Kelas pseudo yang dilawati untuk menentukan gaya pautan yang dikunjungi, seperti perubahan warna; 2. Perhatikan bahawa penyemak imbas hanya membenarkan pengubahsuaian beberapa atribut disebabkan oleh sekatan privasi; 3. Pemilihan warna harus diselaraskan dengan gaya keseluruhan untuk mengelakkan ketangkasan; 4. Terminal mudah alih mungkin tidak memaparkan kesan ini, dan disyorkan untuk menggabungkannya dengan arahan visual lain seperti logo tambahan ikon.

Apakah API Lukisan CSS? Apakah API Lukisan CSS? Jul 04, 2025 am 02:16 AM

ThecsspaintingapienablesdynamicimageGenerationincsingjavascript.1.DevelopersCreateApaintWorkLetClassWithapaint () method.2.theyRegisteritViaregisterPaint ()

Bagaimana untuk membuat imej responsif menggunakan CSS? Bagaimana untuk membuat imej responsif menggunakan CSS? Jul 15, 2025 am 01:10 AM

Untuk membuat imej responsif menggunakan CSS, ia boleh dicapai terutamanya melalui kaedah berikut: 1. Gunakan maksimum lebar: 100% dan ketinggian: auto untuk membolehkan imej menyesuaikan diri dengan lebar kontena sambil mengekalkan perkadaran; 2. Gunakan atribut SRCSET dan saiz HTML dengan bijak memuatkan sumber imej yang disesuaikan dengan skrin yang berbeza; 3. Gunakan objek-sesuai dan kedudukan objek untuk mengawal penanaman imej dan paparan fokus. Bersama -sama, kaedah ini memastikan bahawa imej dibentangkan dengan jelas dan indah pada peranti yang berbeza.

Apakah ketidakkonsistenan penyemak imbas CSS biasa? Apakah ketidakkonsistenan penyemak imbas CSS biasa? Jul 26, 2025 am 07:04 AM

Penyemak imbas yang berbeza mempunyai perbezaan dalam parsing CSS, mengakibatkan kesan paparan yang tidak konsisten, terutamanya termasuk perbezaan gaya lalai, kaedah pengiraan model kotak, flexbox dan tahap sokongan susun atur grid, dan tingkah laku yang tidak konsisten bagi atribut CSS tertentu. 1. Pemprosesan gaya lalai tidak konsisten. Penyelesaiannya adalah menggunakan cssreset atau normalisasi.css untuk menyatukan gaya awal; 2. Kaedah pengiraan model kotak versi lama IE adalah berbeza. Adalah disyorkan untuk menggunakan kotak-kotak: kotak sempadan dengan cara yang bersatu; 3. Flexbox dan grid melakukan secara berbeza dalam kes kelebihan atau dalam versi lama. Lebih banyak ujian dan gunakan autoprefixer; 4. Beberapa tingkah laku atribut CSS tidak konsisten. CANIUSE mesti dirujuk dan diturunkan.

See all articles