Beberapa kali pertanyaan saiz kontena akan membantu saya
pertanyaan kontena memang sangat mudah! Malah, saya telah dalam beberapa situasi dan saya sangat bersemangat untuk menggunakannya, tetapi saya terhad oleh keserasian pelayar. Jika pertanyaan kontena boleh digunakan pada masa itu, kesannya akan lebih baik.
Semua demo berikut paling baik dilihat dalam Chrome atau Safari pada masa penulisan. Firefox merancang untuk memberi sokongan dalam versi 109.
kes 1: grid kad
semua orang harus akrab dengan kes ini, bukan? Ini adalah corak yang sangat biasa yang hampir kita hadapi. Tetapi sebenarnya ialah jika pertanyaan kontena boleh digunakan dan bukan pertanyaan media standard, ia akan menjimatkan banyak masa dan mendapatkan hasil yang lebih baik.
Katakan anda perlu membina grid kad yang memerlukan setiap kad untuk mengekalkan nisbah aspek 1: 1:
Ini lebih sukar daripada yang kelihatan! Masalahnya ialah saiz semula kandungan komponen berdasarkan lebar viewport akan membolehkan anda tertakluk kepada bagaimana komponen bertindak balas terhadap viewport, dan bagaimana bekas nenek moyang lain bertindak balas terhadap pandangan. Sebagai contoh, jika anda mahu saiz fon tajuk kad menurun apabila ia mencapai saiz inline tertentu, tidak ada cara yang boleh dipercayai untuk melakukan ini.
Anda boleh menetapkan saiz fon menggunakan unit VW, tetapi komponen masih terikat pada lebar paparan pelayar. Ini boleh menyebabkan masalah apabila grid kad digunakan dalam konteks lain yang mungkin tidak mempunyai titik putus yang sama.
Dalam projek sebenar saya, saya mengambil kaedah JavaScript:
- Dengarlah saiz semula acara.
- Kirakan lebar setiap kad.
- Tambah saiz fon inline mengikut lebar kad.
- Gunakan unit EM untuk menetapkan gaya dalaman.
pertanyaan kontena akan lebih baik kerana ia menyediakan
unit pertanyaan kontena , seperti unit CQW. Seperti yang anda pelajari, 1CQW adalah sama dengan 1% daripada lebar bekas. Kami juga mempunyai unit CQI, yang merupakan ukuran lebar selaras bekas, dan CQB digunakan untuk lebar blok kontena. Jadi jika kita mempunyai bekas kad lebar 500px, nilai 50cqw dikira sebagai 250px.
Jika saya boleh menggunakan pertanyaan kontena dalam grid kad saya, saya boleh menetapkan komponen ke bekas: .card
<code>.card { container: card / size; }</code>
: .card
<code>.card__inner { padding: 10cqw; } </code>
idea lain? Gunakan unit CQW sebagai saiz fon kandungan dalaman, dan kemudian gunakan mengisi menggunakan unit EM:
<code>.card { container: card / size; }</code>
5CQW adalah nilai sewenang -wenang - Saya baru memilih nilai. Padding masih sama dengan 10cqw, kerana unit EM adalah relatif kepada saiz fon .card__inner
!
adakah anda melihatnya? 2EM berbanding dengan saiz fon 5cqw yang ditetapkan pada bekas yang sama ! Bekas berfungsi secara berbeza daripada yang kita gunakan kerana unit EM adalah relatif kepada nilai saiz fon elemen yang sama. Tetapi saya dengan cepat menyedari bahawa unit pertanyaan kontena berkaitan dengan ibu bapa baru -baru ini (juga bekas) . Contohnya, dalam contoh ini, 5CQW tidak skala berdasarkan lebar elemen :
.card
Sebaliknya, ia akan skala kepada ibu bapa terdekat yang ditakrifkan sebagai bekas. Itulah sebabnya saya menyediakan pembungkus
<code>.card__inner { padding: 10cqw; } </code>
kes 2: susun atur berganti .card__inner
Saya melakukan pekerjaan yang menakutkan ini untuk menjadikan komponen menjadi potret dalam dua julat viewport tertentu (salam kepada sintaksis pertanyaan media baru!), Tetapi masalahnya adalah bahawa ia kemudian dikunci pada pertanyaan media yang ditetapkan untuknya, ibu bapa, dan apa -apa lagi yang mungkin bertindak balas terhadap lebar paparan. Kami memerlukan sesuatu yang berfungsi dalam apa jua keadaan tanpa bimbang tentang di mana kandungan akan terganggu!
pertanyaan kontena dengan mudah dapat menyelesaikan masalah ini kerana penggunaan aturan
:
@container
satu pertanyaan, tak terhingga lancar:
<code>.card__inner { font-size: 5cqw; padding: 2em; } </code>
Mengapa ini penting? Susun atur potret kad mungkin memerlukan gaya alternatif, tetapi anda tidak boleh mengubah prop JavaScript menggunakan CSS. Oleh itu, anda boleh mengulangi gaya yang anda mahukan. Saya sebenarnya membincangkan ini dan bagaimana menyelesaikannya dalam jawatan lain. Sekiranya anda perlu menggunakan pertanyaan kontena untuk sejumlah besar gaya, anda mungkin perlu membina keseluruhan sistem reka bentuk di sekelilingnya, dan bukannya cuba memasukkannya ke dalam sistem reka bentuk yang sedia ada yang bergantung kepada pertanyaan media.
.info-card
kes 3: stroke svg
Ini adalah satu lagi corak yang sangat biasa yang saya gunakan baru -baru ini. Katakan anda mempunyai ikon yang dikunci dengan tajuk:
Walaupun tanpa pertanyaan media, mudah untuk skala ikon mengikut saiz tajuk. Walau bagaimanapun, masalahnya ialah
SVG boleh menjadi terlalu nipis untuk diperhatikan dalam saiz yang lebih kecil, dan boleh terlalu tebal dan terlalu jelas dalam saiz yang lebih besar.
Saya terpaksa membuat dan memohon kelas untuk setiap contoh ikon untuk menentukan saiz dan lebar stroknya. Ini adalah OK jika ikon berada di sebelah tajuk yang menggunakan saiz fon tetap, tetapi ia tidak baik apabila menggunakan jenis cecair yang sentiasa berubah.
Saiz fon tajuk mungkin berdasarkan lebar paparan, jadi ikon SVG perlu diselaraskan dengan sewajarnya dan akan berfungsi dengan baik pada saiz apa pun. Anda boleh menetapkan lebar strok relatif kepada saiz fon tajuk dengan menggunakan unit EM. Walau bagaimanapun, jika anda perlu berpegang pada satu set saiz strok tertentu, kaedah ini tidak berfungsi kerana ia berskala secara linear - tanpa menggunakan pertanyaan media pada lebar viewport, anda tidak boleh menyesuaikannya dengan nilai lebar strok tertentu tanpa menggunakan pertanyaan media pada lebar viewport.
<code>.card { container: card / size; }</code>
Kandungan Tambahan: Jenis Pertanyaan Saiz Kontena Lain
OK, saya sebenarnya tidak menemui ini dalam projek sebenar. Walau bagaimanapun, apabila saya melihat dengan teliti maklumat mengenai pertanyaan kontena, saya perhatikan bahawa kita boleh menanyakan kandungan lain yang berkaitan dengan saiz kontena atau saiz fizikal.
Contoh -contoh yang saya gunakan dalam jawatan ini kebanyakannya lebar pertanyaan, lebar maksimum dan minimum, ketinggian, saiz blok, dan saiz sebaris.
<code>.card__inner { padding: 10cqw; } </code>
<code>.card__inner { font-size: 5cqw; padding: 2em; } </code>
<code>.card { container: card / size; container-name: card; font-size: 5cqw; }</code>
Saya tidak pernah menemui kes -kes penggunaan yang baik untuk kedua -dua mereka. Sekiranya anda mempunyai idea atau rasa ia dapat membantu anda dengan projek anda, sila beritahu saya dalam komen!
Atas ialah kandungan terperinci Beberapa kali pertanyaan saiz kontena akan membantu saya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

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)

Topik panas











Saya melihat Font Google melancarkan reka bentuk baru (tweet). Berbanding dengan reka bentuk besar yang terakhir, ini terasa lebih berulang. Saya hampir tidak dapat memberitahu perbezaannya

Pernahkah anda memerlukan pemasa undur dalam projek? Untuk sesuatu seperti itu, mungkin semula jadi untuk mencapai plugin, tetapi sebenarnya lebih banyak lagi

Semua yang anda ingin tahu mengenai atribut data dalam HTML, CSS, dan JavaScript.

Pada permulaan projek baru, kompilasi SASS berlaku dalam sekejap mata. Ini terasa hebat, terutamanya apabila ia dipasangkan dengan BrowserSync, yang dimuat semula

Tartan adalah kain berpola yang biasanya dikaitkan dengan Scotland, terutamanya kilt bergaya mereka. Di Tartanify.com, kami mengumpulkan lebih dari 5,000 Tartan

Arahan template inline membolehkan kita membina komponen Vue yang kaya sebagai peningkatan progresif ke atas markup WordPress yang sedia ada.

Satu perkara yang menarik perhatian saya pada senarai ciri-ciri untuk Lea Verou ' s conic-gradient () polyfill adalah item terakhir:

Mari kita cuba menyusun istilah di sini: "Penyedia Borang Statik." Anda membawa html anda
