0Pricing
HTML Academy · Pelajaran

viewBox SVG dan Penskalaan Responsif

Buat SVG berskala dengan benar pada ukuran layar apa pun.

viewBox SVG dan Penskalaan Responsif adalah pelajaran HTML Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar HTML Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus HTML Academy mencakup 4 pelajaran total.

lebar dan tinggi vs viewBox

Lebar dan tinggi SVG menentukan ukuran hasil render di DOM. Atribut viewBox menentukan ruang koordinat internal. Keduanya tidak saling bergantung: viewBox "0 0 100 100" dengan width="200" height="200" menskalakan ruang koordinat sebesar 2 kali.

Sintaks viewBox

viewBox="min-x min-y width height". Yang paling umum: viewBox="0 0 100 100" menentukan ruang koordinat berukuran 100x100 yang dimulai dari titik asal. Nilai koordinat dalam SVG mengacu pada ruang ini, bukan piksel.

SVG Responsif

Untuk membuat SVG responsif, hilangkan atribut width dan height (atau atur nilainya menjadi 100%) dan biarkan viewBox menentukan proporsinya. Tambahkan CSS: svg { width: 100%; height: auto; }. SVG akan menyesuaikan ukurannya agar memenuhi wadah dengan tetap mempertahankan rasio aspek.

preserveAspectRatio

preserveAspectRatio mengatur cara viewBox menyesuaikan diri dengan area pandang SVG ketika rasio aspek berbeda. Nilainya: "xMidYMid meet" (bawaan—menambahkan bilah kosong), "xMidYMid slice" (memotong agar memenuhi area), "none" (meregangkan agar sesuai tanpa mempertahankan rasio aspek).

min-x dan min-y untuk Menggeser Tampilan

Mengubah min-x dan min-y menggeser bagian ruang koordinat SVG yang terlihat. viewBox="50 50 100 100" menampilkan wilayah dari (50,50) hingga (150,150). Cara ini memungkinkan penggeseran tampilan secara interaktif dengan memperbarui nilai viewBox menggunakan JavaScript.

Memperbesar dengan viewBox

Kurangi dimensi viewBox untuk memperbesar tampilan: viewBox="25 25 50 50" menampilkan wilayah yang lebih kecil dan memperbesarnya hingga memenuhi elemen SVG. Tambahkan dimensinya untuk memperkecil tampilan. Perbarui viewBox saat terjadi peristiwa roda tetikus untuk memperbesar atau memperkecil tampilan secara interaktif tanpa menskalakan elemen SVG.

SVG dalam img vs Sebaris

SVG dalam tag img: dapat diskalakan secara responsif dengan object-fit, tetapi tidak dapat ditata dengan CSS atau dijalankan dengan skrip. SVG sebaris: sepenuhnya dapat diakses oleh CSS dan JavaScript, tetapi menambah ukuran HTML. Pilih berdasarkan kebutuhan interaktivitas.

Pola SVG Ikon

SVG ikon menggunakan viewBox tetap (misalnya, "0 0 24 24") tanpa width/height, sehingga CSS dapat menentukan ukurannya: .icon { width: 1.5rem; height: 1.5rem; }. viewBox memastikan ikon diskalakan dengan benar pada ukuran apa pun sambil mempertahankan ketajaman gambar vektor.

Symbol untuk Sprite Ikon

Definisikan ikon di dalam elemen <symbol viewBox="0 0 24 24"> yang berada dalam SVG tersembunyi. Rujuk ikon tersebut dengan <use href="#icon-name">. Setiap elemen penggunaan dapat memiliki width, height, fill, dan color sendiri—satu file sprite untuk semua ikon.

currentColor untuk Tema

SVG fill="currentColor" mewarisi properti warna CSS dari elemen tersebut atau induknya. Atur color: red pada SVG atau induknya, lalu ikon akan otomatis terisi warna merah. Cara ini memungkinkan ikon satu warna mengikuti warna teks tanpa penataan khusus SVG.

Men-debug viewBox

Jika konten SVG tampak terpotong atau berada di posisi yang tidak terduga, catat atau periksa nilai viewBox. Kesalahan umum adalah mengatur viewBox ke dimensi piksel karya sumber tanpa menyesuaikannya dengan ukuran hasil render, sehingga menyebabkan masalah penskalaan. Pastikan viewBox sesuai dengan batas konten karya SVG yang sebenarnya.

Pemeriksaan Pengetahuan

Bagaimana cara membuat SVG diskalakan secara responsif agar sesuai dengan lebar wadah apa pun?

Ringkasan

viewBox SVG menentukan ruang koordinat internal yang tidak bergantung pada ukuran piksel hasil render, sehingga memungkinkan penskalaan responsif. Mengatur width:100%; height:auto dengan viewBox membuat SVG menyesuaikan diri dengan wadah apa pun. Pola sprite symbol+use, penerapan tema dengan currentColor, dan preserveAspectRatio membentuk perangkat lengkap untuk penggunaan SVG yang fleksibel dan dapat mengikuti tema.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “viewBox SVG dan Penskalaan Responsif” gratis?

Ya — teks lengkap “viewBox SVG dan Penskalaan Responsif” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus HTML Academy, upgrade ke CoddyKit PRO. Kursus HTML Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “viewBox SVG dan Penskalaan Responsif”?

Buat SVG berskala dengan benar pada ukuran layar apa pun. Kamu berlatih HTML Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai HTML Academy?

Tidak diperlukan pengalaman sebelumnya. HTML Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “viewBox SVG dan Penskalaan Responsif” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran HTML Academy ini?

Ya. Setiap pelajaran HTML Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. SVG Inline vs img dan object
  2. Bentuk Dasar SVG rect circle path
  3. viewBox SVG dan Penskalaan Responsif
  4. Menganimasikan SVG dengan CSS dan SMIL
← Kembali ke HTML Academy