


Masa Depan CSS: Pertanyaan Kontena dan The: mempunyai () pemilih
Pertanyaan kontena dan yang mempunyai () pemilih merevolusi CSS dengan membolehkan komponen yang menyedari konteks, responsif tanpa JavaScript; 1. Pertanyaan kontena membenarkan komponen untuk menyesuaikan diri berdasarkan saiz kontena mereka, bukan hanya viewport, membuat reka bentuk yang benar -benar modular mungkin; 2. 3. Bersama-sama, mereka membenarkan komponen yang boleh digunakan semula sendiri yang bertindak balas terhadap kandungan, struktur, dan interaksi pengguna; 4. Kedua -dua ciri disokong secara meluas dalam penyemak imbas moden pada tahun 2024, dengan penolakan yang tersedia melalui peraturan @Supports; 5. Mereka mengurangkan pergantungan pada JavaScript, meminimumkan kembung kelas, dan membolehkan gaya yang lebih baik, adaptif, dan ekspresif, menandakan peralihan ke arah CSS yang lebih bijak, yang didorong komponen yang berkuasa dan deklaratif.
CSS berkembang pesat, dan dua penambahan yang paling berkesan dalam beberapa tahun kebelakangan -pertanyaan kontena dan :has()
pemilih-sudah mengubah cara kita membina antara muka yang responsif, konteks yang menyedari. Ciri-ciri ini menyelesaikan batasan lama di CSS, memberikan pemaju lebih banyak kawalan tanpa bergantung pada JavaScript atau penyelesaian yang kompleks.
Mari kita pecahkan apa yang menjadikan mereka begitu kuat dan bagaimana mereka membentuk masa depan gaya di web.
Apakah pertanyaan kontena dan mengapa mereka penting
Sebelum pertanyaan kontena, pertanyaan media adalah untuk reka bentuk yang responsif-tetapi mereka terikat dengan viewport , bukan komponen individu. Ini bermakna gaya komponen tidak dapat bertindak balas terhadap saiznya sendiri, hanya saiz skrin. Ini menjadikan komponen yang benar -benar modular dan boleh diguna semula sukar.
Pertanyaan Container Betulkan ini dengan membiarkan komponen menyesuaikan diri berdasarkan saiz bekasnya , bukannya viewport.
Contohnya:
/ * Tentukan bekas */ .card-container { jenis kontena: bersaiz inline; } / * Gaya berdasarkan lebar bekas */ @Container (min-lebar: 300px) { .card { Paparan: Flex; } } @Container (min-lebar: 500px) { .card { Gap: 1rem; } }
Sekarang, A .card
boleh menukar susun atur bergantung kepada berapa banyak ruang yang dimiliki -sempurna untuk papan pemuka, grid, atau susun atur mana -mana komponen muncul dalam konteks yang berbeza.
Mengapa ini penting:
- Komponen menjadi benar-benar mandiri.
- Sistem reka bentuk boleh membina corak responsif tanpa JS.
- Tiada lagi titik putus yang janggal berdasarkan saiz skrin sewenang -wenangnya.
The :has()
pemilih: pemadanan induk dalam CSS
Selama bertahun -tahun, CSS tidak dapat gaya elemen induk berdasarkan anak -anaknya. Anda boleh lakukan .child:hover
, tetapi bukan "Gaya ibu bapa apabila anak itu berlegar." Yang memerlukan JavaScript atau penstrukturan semula HTML.
Sekarang, dengan :has()
pemilih (secara rasmi dipanggil kelas pseudo relasi ), anda boleh.
Contoh:
/ * Gaya kad hanya jika ia mengandungi imej */ .card: mempunyai (img) { Padding: 1rem; Sempadan: 1px pepejal #ccc; } / * Gaya item senarai jika ia mempunyai senarai bersarang */ li: mempunyai (ul) { Latar Belakang: #F0F0F0; margin-bawah: 0.5rem; } / * Hover pada anak mempengaruhi ibu bapa */ .card: mempunyai (butang: hover) { Box-shadow: 0 4px 10px RGBA (0,0,0,0.1); }
Ini membuka corak gaya yang didorong oleh logik dan logik:
- Gaya bersyarat berdasarkan kandungan.
- Item navigasi dengan submenus mendapatkan rawatan khas.
- Borang boleh membuat label gaya atau pembalut berdasarkan keadaan input.
Ia seperti memberikan CSS sedikit "jika ini, maka itu" logik -asli.
Kes penggunaan dunia bersama bersama
Bayangkan perpustakaan komponen di mana:
- Kad menggunakan pertanyaan kontena untuk beralih dari disusun ke susun atur mendatar apabila ia mempunyai ruang.
- Tetapi hanya jika ia mengandungi imej (diperiksa dengan
:has(img)
), ia menambah padding tambahan. - Dan apabila butang di dalam difokuskan, keseluruhan kad mendapat cahaya halus melalui
:has(button:focus)
.
.card { jenis kontena: bersaiz inline; Padding: 0.5rem; } .card: mempunyai (img) { Padding: 1rem; } @Container (Min-Width: 320px) { .card: mempunyai (img) { Paparan: Flex; Gap: 1rem; } } .card: mempunyai (butang: fokus) { Garis besar: 2px Blue pepejal; }
Kesedaran kontekstual semacam ini sebelum ini hanya mungkin dengan JavaScript atau penamaan kelas tegar. Kini deklaratif, pelaku, dan boleh dikekalkan.
Sokongan dan Adopsi Pelayar
Sehingga 2024:
- Pertanyaan Container : Disokong dalam Chrome, Edge, Firefox, dan Safari (95% liputan global).
-
:has()
: disokong dalam Chrome, Edge, Safari, dan sekarang Firefox (melancarkan).
Anda boleh menggunakan kedua -duanya dalam pengeluaran dengan degradasi anggun atau pertanyaan ciri:
@Supports (Container-Type: Inline-Size) { / * Gunakan pertanyaan kontena */ } @Supports Selector (: mempunyai (span)) { / * Penggunaan: mempunyai () */ }
Gambar yang lebih besar: CSS yang lebih pintar, lebih kontekstual
Ciri -ciri ini mewakili peralihan ke arah gaya kontekstual -di mana elemen bertindak balas bukan hanya untuk saiz skrin atau interaksi pengguna, tetapi kepada kandungan, struktur, dan persekitarannya.
Mereka mengurangkan keperluan untuk:
- JavaScript yang berlebihan untuk logik visual.
- Kembung HTML dengan kelas negeri.
- Menulis titik putus yang rapuh, viewport.
Dan mereka memberi kuasa:
- Komponen UI yang benar -benar boleh diguna semula.
- Lebih mudah diakses, reka bentuk penyesuaian.
- Kod yang lebih bersih, lebih banyak dipelihara.
Masa depan CSS bukan sekadar kelihatan baik -tentang menjadi pintar. Pertanyaan kontena dan :has()
hanya permulaan. Dengan mereka, CSS menjadi lebih ekspresif, mesra komponen, dan berkuasa dari sebelumnya.
Pada asasnya, jika anda membina antara muka web moden, sekarang adalah masa untuk mula menggunakannya.
Atas ialah kandungan terperinci Masa Depan CSS: Pertanyaan Kontena dan The: mempunyai () pemilih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Unit VW dan VH mencapai reka bentuk responsif dengan mengaitkan saiz elemen dengan lebar dan ketinggian viewport; 1VW adalah sama dengan 1% lebar viewport, dan 1VH adalah sama dengan 1% ketinggian viewport; biasanya digunakan di kawasan skrin penuh, fon responsif dan jarak elastik; 1. Gunakan 100VH atau lebih baik 100DVH di kawasan skrin penuh untuk mengelakkan pengaruh bar alamat pelayar mudah alih; 2. 3. Jarak elastik seperti lebar: 80VW, margin: 5vhauto, padding: 2VH3VW, boleh membuat susun atur yang boleh disesuaikan; Perhatikan keserasian peranti mudah alih, kebolehaksesan dan konflik kandungan lebar tetap, dan disyorkan untuk memberi keutamaan untuk menggunakan DVH terlebih dahulu;

1. Binance terkenal dengan jumlah transaksi yang besar dan pasangan perdagangan yang kaya. Ia menyediakan model perdagangan yang pelbagai dan ekosistem yang sempurna. Ia juga memastikan keselamatan aset pengguna melalui dana SAFU dan teknologi keselamatan berganda dan sangat penting untuk operasi yang mematuhi; 2. Okx Ouyi menyediakan pelbagai perkhidmatan perdagangan aset digital dan model akaun perdagangan bersatu, secara aktif menyebarkan medan Web3, dan meningkatkan keselamatan dan pengalaman transaksi melalui kawalan risiko yang ketat dan pendidikan pengguna; 3. Gate.io Sesame membuka pintu dan mempunyai kelajuan mata wang yang baik dan mata wang yang kaya, menyediakan alat perdagangan yang pelbagai dan perkhidmatan nilai tambah, mengamalkan pelbagai mekanisme pengesahan keselamatan dan mematuhi ketelusan rizab aset untuk meningkatkan kepercayaan pengguna; 4. Huobi menyediakan perkhidmatan aset digital sehenti dengan pengumpulan industri yang mendalam, dengan kedalaman urus niaga yang kuat dan

Gunakan div dengan sempadan untuk membuat garis menegak dengan cepat, dan tentukan gaya dan ketinggian dengan menetapkan sempadan dan ketinggian; 2. Penggunaan :: Sebelum atau :: Selepas elemen pseudo untuk menambah garis menegak tanpa tag HTML tambahan, sesuai untuk pemisahan hiasan; 3. Dalam susun atur Flexbox, dengan menetapkan warna lebar dan latar belakang kelas pembahagi, pembahagi menegak adaptif antara bekas elastik dapat dicapai; 4. Dalam cssgrid, masukkan garis menegak sebagai lajur bebas (seperti lajur autowidth) ke dalam susun atur grid, yang sesuai untuk reka bentuk responsif; Kaedah yang paling sesuai harus dipilih mengikut susun atur khusus untuk memastikan strukturnya mudah dan mudah dijaga.

Thecssfilterpropertyallowsvisualeffectslebur, kecerahan, andgrayscaletobeapplieddirectlytoHtmlelements.1) usethesyntaxfilter: filter-function (nilai) toapplyeffect.2) combinemultipleFileSwithswithswith, E.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.

Apabila menggunakan pemilih CSS, pemilih spesifik rendah harus digunakan terlebih dahulu untuk mengelakkan batasan yang berlebihan; 1. Memahami tahap kekhususan dan gunakannya dengan munasabah dalam urutan jenis, kelas, dan ID; 2. Gunakan nama kelas pelbagai tujuan untuk meningkatkan kebolehgunaan dan kebolehkerjaan; 3. Gunakan atribut dan pemilih kelas pseudo untuk mengelakkan masalah prestasi; 4. Pastikan pemilih pendek dan jelas skop; 5. Gunakan BEM dan spesifikasi penamaan lain untuk meningkatkan kejelasan struktur; 6. Elakkan penyalahgunaan pemilih tag dan: anak-anak, dan memberi keutamaan kepada penggunaan kelas alat atau CSS modular untuk memastikan gaya itu dapat dikawal untuk masa yang lama.

Atribut Mix-Blend-Mode digunakan untuk mengawal kesan pencampuran kandungan elemen dan latar belakang. 1. Multiply boleh mencapai tumpang tindih teks dan imej latar belakang; 2. Skrin mencerahkan imej dan sesuai untuk latar belakang gelap; 3. Overlay meningkatkan kontras, menggabungkan ciri -ciri multiply dan skrin; 4. Perbezaan mewujudkan kontras yang kuat, yang sesuai untuk reka bentuk kreatif; Adalah perlu untuk memastikan bahawa unsur-unsur bertindih dan susunan susunan Z-indeks yang betul, dan digabungkan dengan pengasingan: mengasingkan, pelbagai pencampuran boleh terhad, dan kesan visual yang kaya dapat dicapai dengan menyesuaikan warna dan mod.

Untuk menukar gaya senarai CSS, gunakan jenis gaya pertama untuk menukar gaya peluru atau penomboran. 1. Gunakan jenis gaya senarai untuk menetapkan peluru UL ke cakera, bulatan atau persegi, dan bilangan OL adalah perpuluhan, rendah alpha, atas-alpha, rendah-Rom atau atas-Rom. 2. Keluarkan tag sepenuhnya dengan gaya senarai: Tiada. 3. Gunakan senarai gaya senarai: URL ('Bullet.png') untuk menggantikannya dengan imej tersuai. 4. Gunakan senarai gaya senarai: dalam

UseWhite-space: nowraptopreventtextFreakingontomultiplines, memastikanContentStononasingleline;
