Titik utama Reka Bentuk Web Responsif (RWD)
Reka Bentuk Web Responsif (RWD) adalah penting untuk memastikan laman web ini boleh diakses dan mesra pengguna pada peranti pelbagai saiz skrin. Ia dicadangkan oleh Ethan Marcotte pada tahun 2010, yang membolehkan laman web tunggal berfungsi dengan baik pada mana -mana peranti, tanpa mengira saiz skrin atau saiz viewport.RWD menggunakan pelbagai teknik dan kaedah, termasuk tag Meta Viewport HTML, pertanyaan media, unit CSS Viewport, lajur CSS, CSS Flexbox dan grid, dan pilihan RWD JavaScript. Semua ini mempunyai sokongan penyemak imbas yang baik, dengan CSS Grid kini disokong oleh hampir 95% penyemak imbas yang biasa digunakan.
Ujian RWD dan keserasian penyemak imbas adalah kritikal dan boleh dilakukan dengan ujian dalam penyemak imbas, simulator sistem operasi mudah alih, perkhidmatan ujian dalam talian dan ujian peranti dunia nyata. Walau bagaimanapun, setiap kaedah mempunyai batasan sendiri dan harus digunakan dalam kombinasi untuk mendapatkan hasil yang paling tepat.
Perkhidmatan ujian dalam talian (seperti Lambdatest) membolehkan pengguna menguji halaman responsif pada pelayar mudah alih melalui web. Perkhidmatan ini juga boleh termasuk API ujian automatik untuk memeriksa regresi gaya atau antara muka pengguna yang rosak.
Ujian peranti sebenar adalah cara yang paling tepat untuk menguji RWD kerana ia membolehkan menilai kelajuan pemprosesan sebenar, kawalan sentuhan, dan reka bentuk keseluruhan. Adalah disyorkan untuk menguji sebanyak mungkin peranti, terutamanya peranti umum yang telah digunakan selama satu atau dua tahun.
bagaimana untuk bekerja di rwd
Tidak ada kaedah atau teknik RWD tunggal.Pertama, anda perlu menentukan bagaimana reka bentuk laman web akan bertindak balas terhadap monitor saiz yang berbeza. Ini adalah satu cabaran, dengan banyak laman web RWD awal yang mengambil susun atur desktop sedia ada dan mengeluarkan beberapa kandungan dengan saiz skrin yang dikurangkan.
Teknologi yang lebih baik adalah "mudah alih pertama". Ia bermula dengan paparan mudah alih linear yang berjalan pada semua peranti dan kemudian menyusun semula atau tweak kandungan apabila lebih banyak ruang dan ciri penyemak imbas yang disokong tersedia. Baru -baru ini, banyak laman web telah menggunakan susun atur yang lebih mudah, di mana pengalaman mudah alih dan desktop kebanyakannya sama.
Contoh biasa RWD ialah menu hamburger. Pengguna pada skrin yang lebih kecil boleh mengklik pada ikon untuk melihat pautan navigasi, manakala pengguna pada skrin yang lebih besar dapat melihat semua pilihan dalam senarai mendatar.
Bahagian berikut menyediakan beberapa pilihan pelaksanaan teknikal.
html viewport meta tag
Tidak kira apa teknologi RWD digunakan, tag berikut mesti ditetapkan dalam html:
<meta name="viewport" content="width=device-width, initial-scale=1">
Tetapan Pastikan penyemak imbas mudah alih skala piksel CSS logik ke lebar skrin. Tanpa tetapan ini, penyemak imbas mengandaikan bahawa ia menjadikan laman web desktop dan berskala dengan sewajarnya supaya ia dapat pan dan skala. width=device-width
pertanyaan media
Pertanyaan media adalah asas utama laman web RWD awal. Mereka membolehkan CSS menyasarkan pelbagai saiz viewport tertentu. Contohnya:<meta name="viewport" content="width=device-width, initial-scale=1">
Pertanyaan media masih digunakan, walaupun pilihan kurang jelas tersedia sekarang.
<picture>
elemen
html <picture>
elemen Gunakan sintaks pertanyaan media untuk mengawal dari pelbagai <img src="https://img.php.cn/upload/article/000/000/000/173915575374245.jpg" alt="How to Test Responsive Web Design Cross-Browser Compatibility " />
</picture>
Unit Viewport CSS
unit CSS vw
dan vh
mewakili 1% lebar dan ketinggian viewport, masing -masing. vmin
adalah 1% daripada saiz minimum, dan vmax
adalah 1% dari saiz maksimum.
Ini membolehkan fleksibiliti RWD, terutamanya apabila digunakan bersamaan dengan calc
. Contohnya:
/* 应用于所有视图的样式 */ p { font-size: 1rem; } /* 应用于宽度介于 900px 和 1200px 之间的视口的样式 */ @media (min-width: 900px) and (max-width: 1200px) { p { font-size: 1.5rem; } }
lajur CSS
susun atur multi-kolumn CSS menyediakan cara untuk membuat pelbagai lajur teks apabila saiz kontena meningkat. Contohnya:
/* 字号随视口宽度增加而增加 */ p { font-size: 1rem + 0.5vw; }
CSS Flexbox dan CSS Grid menyediakan teknologi moden untuk meletakkan elemen kanak -kanak berdasarkan kandungan dan ruang yang tersedia. Perbezaan utama ialah:
Flexbox digunakan untuk susun atur satu dimensi. Unsur -unsur boleh dipecahkan (atau tidak pecah) seperti yang diperlukan, jadi lajur tidak boleh diselaraskan.
pilihan rwd javascript
/* 列的最小宽度必须为 12rem 每个列之间有 2rem 的间隙 */ .container { columns: 12rem auto; column-gap: 2rem; }
JavaScript juga boleh digunakan untuk menentukan saiz viewport dan bertindak balas dengan sewajarnya. Contohnya:
dan
, walaupun kaedah/* 子元素将至少为 20rem 并填充行。 小于 20rem 的显示将子元素大小调整为 1fr (可用宽度的 100%)。 1rem 的间隙将始终围绕元素。 */ .grid-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); grid-gap: 1rem; }
offsetWidth
offsetHeight
Apabila peranti berputar atau tetingkap penyemak imbas saiznya, tetingkap dan saiz elemen boleh berubah. getBoundingClientRect()
API boleh menghuraikan pertanyaan media CSS dan mencetuskan perubahan:
// 获取视口宽度和高度 const vw = window.innerWidth, vh = window.innerHeight;
matchMedia
Sokongan penyemak imbas
const element = document.getElementById('myelement'), rect = element.getBoundingClientRect(), ew = rect.width, eh = rect.height;
Teknologi RWD di atas semua mempunyai sokongan penyemak imbas yang baik. Pilihan terkini - CSS Grid - kini disokong oleh hampir 95% penyemak imbas yang biasa digunakan. Walau bagaimanapun, masih perlu untuk menguji laman web anda pada pelbagai peranti, resolusi dan pelayar ...
(Kandungan berikut dibatasi oleh ruang, hanya garis besar yang dikekalkan. Sila rujuk teks asal untuk kandungan tertentu)
ujian in-browser
Atas ialah kandungan terperinci Cara Menguji Reka Bentuk Web Reka Bentuk Reka Bentuk Sambungan Sambungan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!