Menulis pertanyaan media CSS kadangkala mencabar menyeronokkan, terutamanya apabila terdapat terlalu banyak perkara yang perlu dilakukan. Kami sering memberi tumpuan kepada membina reka letak dan menjadikan bahagian lain tapak web kami responsif sehingga ia menjadi tekanan. Tetapi bagaimana jika kita boleh mengurangkan tekanan itu dengan menjadikan teks kita boleh berskala, tidak kira saiz skrin, tanpa perlu menulis satu tan pertanyaan media?
Mari kita selami dan mulakan cara untuk mencapai tipografi cecair menggunakan fungsi CSS clamp().
Masalahnya
Berikut ialah halaman web asas dengan teg H1 dan teg P:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>CSS Fluid Typography</title> </head> <style> *{ margin: 0; padding: 0; box-sizing: border-box; } body{ font-family: Arial, sans-serif; background: #333; color: white; text-align: center; } h1{ font-size: 5rem; } p{ font-size: 3rem; color: red; } </style> <body> <h1>CSS Fluid Typography</h1> <p>Why is this text not scalable</p> </body> </html>
Sekarang mari kita lihat bagaimana teks berkelakuan pada saiz skrin yang berbeza
Cara mudah untuk menjadikan teks di atas responsif ialah menggunakan pertanyaan media, tetapi dalam artikel ini, kami akan menjadikan teks responsif menggunakan fungsi CSS clamp().
Tetapi sebelum itu, mari kita lihat dahulu unit vw (lebar viewport). Unit vw membolehkan anda menetapkan saiz fon anda berbanding dengan lebar port pandangan, menjadikan teks anda responsif.
Mari kemas kini kod sedia ada kami dengan perubahan berikut:
<style> h1 { font-size: 10vw; /* H1 size is 10% of the viewport width */ } p { font-size: 5vw; /* p size is 5% of the viewport width */ color: red; } </style>
Jika lebar port pandangan ialah 1000px:
Saiz fon h1 ialah 100px
Saiz fon p ialah 50px
Saiz fon untuk H1 dan p akan terus berkembang atau mengecut apabila lebar port pandangan berubah.
Jom lihat rupanya:
Daripada GIF di atas, kita dapat melihat bahawa menggunakan vw berfungsi untuk teks responsif tetapi tidak mempunyai kekangan. Apabila lebar port pandangan meningkat, saiz fon akan terus berkembang tanpa had, dan begitu juga, ia akan terus mengecut apabila lebar port pandangan berkurangan.
Di sinilah fungsi clamp() dimainkan. clamp() membolehkan anda menetapkan saiz fon minimum, pilihan dan maksimum, memberikan kawalan ke atas cara teks berskala dalam julat yang ditentukan.
Penyelesaian
Menggunakan fungsi pengapit()
Fungsi clamp() dalam CSS membolehkan anda menetapkan julat untuk saiz fon anda.
Format umum ialah :
clamp(minimum, preferred, maximum)
Mari kita gunakan contoh dari atas dan ubah suai kod dengan yang berikut
h1{ font-size: clamp(24px, 5vw, 48px); /* Font size scales between 24px and 48px */ } p{ font-size: clamp(16px, 3vw, 24px) /* Font size scales between 16px and 24px) }
Mari kita lihat penampilannya pada penyemak imbas:
Kini, elemen h1 dan p akan responsif, kerana saiznya akan kekal dalam julat yang ditetapkan, memastikan ia tidak menjadi terlalu besar atau terlalu kecil.
Dalam artikel ini, kami telah mempelajari cara untuk mencapai tipografi cecair menggunakan fungsi CSS clamp() . Terima kasih kerana membaca sehingga ke tahap ini. Saya meminta anda menggugurkan suka dan berkongsi artikel ini dengan rakan sebaya anda yang akan mendapat manfaat daripada ini.
Apakah pendapat anda tentang artikel ini? Jangan ragu untuk berkongsi pendapat anda di bahagian komen di bawah.
P.S. Saya sedang mencari peluang pembangun bahagian hadapan. Jika anda mempunyai sebarang petunjuk atau sedang mengambil pekerja, sila semak resume saya atau berhubung dengan saya di LinkedIn. Saya ingin mendengar daripada anda!
Atas ialah kandungan terperinci Tipografi Bendalir CSS: Panduan Menggunakan clamp() untuk Teks Boleh Skala. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!