Rumah >hujung hadapan web >tutorial css >Menguasai CSS dalam Panduan CSS Definitif untuk Semua Orang | Bahagian-1
Pernah melihat tapak web yang direka dengan cantik dan tertanya-tanya, "Bagaimana mereka melakukannya?" Nah, anda akan memulakan perjalanan yang akan mengubah anda daripada seorang pemula CSS kepada seorang adiwira penggayaan.
Fikirkan CSS sebagai pereka fesyen dunia web – manakala HTML menyediakan struktur, CSS ialah perkara yang menjadikannya kelihatan hebat!
No. | Section | Link |
---|---|---|
1 | Understanding CSS Fundamentals | Understanding CSS Fundamentals |
2 | Selectors and Specificity | Selectors and Specificity |
3 | The Box Model Explained | The Box Model Explained |
4 | Flexbox: Layout Made Easy | Flexbox: Layout Made Easy |
5 | CSS Grid: Two-Dimensional Layouts | CSS Grid: Two-Dimensional Layouts |
Mari kita mulakan dengan perkara asas. CSS (Cascading Style Sheets) ialah bahasa yang menghidupkan web. Seperti palet pelukis, ia memberi anda alatan untuk menambah warna, bentuk dan kesan visual pada halaman web anda.
Sintaks CSS asas terdiri daripada:
selector { property: value; }
Terdapat tiga kaedah untuk menambahkan CSS pada HTML anda:
Cuba latihan praktikal ini untuk mengamalkan CSS asas:
<!-- HTML Structure --> <article> <pre class="brush:php;toolbar:false">/* Your task: Style this blog post */ .blog-post { max-width: 800px; margin: 0 auto; padding: 20px; font-family: 'Arial', sans-serif; } .title { color: #2c3e50; border-bottom: 2px solid #eee; } .meta { color: #666; font-style: italic; } .content p { line-height: 1.6; margin-bottom: 1.5em; }
Memahami pemilih adalah penting untuk menyasarkan elemen yang betul. Fikirkan pemilih sebagai koordinat GPS anda untuk penggayaan – ia membantu anda menavigasi ke elemen yang betul-betul betul yang ingin anda ubah suai.
/* Attribute selector with partial match */ [class*="btn-"] { padding: 10px 20px; border-radius: 4px; } /* Nth-child selections */ li:nth-child(odd) { background-color: #f5f5f5; } /* Combining multiple selectors */ input[type="text"]:focus, input[type="email"]:focus { border-color: #007bff; box-shadow: 0 0 5px rgba(0,123,255,0.5); }
Buat menu navigasi dengan keadaan dan tahap kekhususan yang berbeza:
<nav> <pre class="brush:php;toolbar:false">/* Challenge: Style these with increasing specificity */ .nav-link { /* Base styles */ } .nav-item .nav-link { /* More specific */ } #main-nav .nav-list .nav-item .nav-link { /* Most specific */ }
Setiap elemen dalam reka bentuk web mengikut model kotak CSS – anggap ia sebagai pelan tindakan untuk cara elemen mengambil ruang pada halaman anda. Sama seperti pakej fizikal yang mempunyai kandungan, padding dan kotak luarnya, elemen web mengikut prinsip yang sama.
.box { width: 300px; padding: 20px; border: 2px solid #333; margin: 10px; }
Secara lalai, pelapik dan jidar ditambahkan pada lebar/tinggi elemen. Menggunakan saiz kotak: kotak sempadan menjadikan lebar/tinggi termasuk pelapik dan jidar, yang selalunya lebih intuitif:
selector { property: value; }
<!-- HTML Structure --> <article> <pre class="brush:php;toolbar:false">/* Your task: Style this blog post */ .blog-post { max-width: 800px; margin: 0 auto; padding: 20px; font-family: 'Arial', sans-serif; } .title { color: #2c3e50; border-bottom: 2px solid #eee; } .meta { color: #666; font-style: italic; } .content p { line-height: 1.6; margin-bottom: 1.5em; }
/* Attribute selector with partial match */ [class*="btn-"] { padding: 10px 20px; border-radius: 4px; } /* Nth-child selections */ li:nth-child(odd) { background-color: #f5f5f5; } /* Combining multiple selectors */ input[type="text"]:focus, input[type="email"]:focus { border-color: #007bff; box-shadow: 0 0 5px rgba(0,123,255,0.5); }
Flexbox adalah seperti mempunyai bekas ajaib yang secara automatik menyusun kandungannya dengan cara yang paling cekap yang mungkin. Ia sesuai untuk mencipta reka letak responsif dengan usaha yang minimum.
<nav> <pre class="brush:php;toolbar:false">/* Challenge: Style these with increasing specificity */ .nav-link { /* Base styles */ } .nav-item .nav-link { /* More specific */ } #main-nav .nav-list .nav-item .nav-link { /* Most specific */ }
.box { width: 300px; padding: 20px; border: 2px solid #333; margin: 10px; }
Buat reka letak papan pemuka responsif:
* { box-sizing: border-box; }
Grid CSS membawa kawalan susun atur ke peringkat seterusnya dengan menyediakan sistem dua dimensi. Anggap ia sebagai hamparan yang anda boleh meletakkan elemen dalam baris dan lajur dengan tepat.
Asas Grid
selector { property: value; }
Kawasan Templat Grid CSS membolehkan anda mentakrifkan kawasan grid yang dinamakan dalam bekas grid, menjadikannya lebih mudah untuk membuat reka letak yang kompleks dengan memberikan elemen kepada kawasan tertentu menggunakan nama deskriptif.
<!-- HTML Structure --> <article> <pre class="brush:php;toolbar:false">/* Your task: Style this blog post */ .blog-post { max-width: 800px; margin: 0 auto; padding: 20px; font-family: 'Arial', sans-serif; } .title { color: #2c3e50; border-bottom: 2px solid #eee; } .meta { color: #666; font-style: italic; } .content p { line-height: 1.6; margin-bottom: 1.5em; }
Buat reka letak gaya majalah dengan Grid CSS:
/* Attribute selector with partial match */ [class*="btn-"] { padding: 10px 20px; border-radius: 4px; } /* Nth-child selections */ li:nth-child(odd) { background-color: #f5f5f5; } /* Combining multiple selectors */ input[type="text"]:focus, input[type="email"]:focus { border-color: #007bff; box-shadow: 0 0 5px rgba(0,123,255,0.5); }
Kini giliran anda untuk mempraktikkan pembelajaran anda! Inilah cabaran anda:
Mata Bonus: Tambahkan sentuhan kreatif anda sendiri pada reka bentuk! Saya sendiri akan menyemak dan membalas setiap CodePen yang dikongsi dalam ulasan.
? Petua Pro: Ingat untuk menambah ulasan dalam CSS anda untuk menerangkan pemikiran anda. Ia membantu orang lain belajar daripada kod anda!
Ini ialah Bahagian 1 siri CSS Zero to Hero kami. Kami akan menyelam lebih dalam ke dalam konsep CSS yang lebih menarik dalam siaran akan datang. Untuk memastikan anda tidak terlepas:
Adakah anda mencuba latihan? Ada soalan? Kongsi pengalaman anda dalam komen! Saya membalas setiap komen dan suka melihat kemajuan anda.
Jumpa anda di Bahagian 2! Selamat mengekod! ?????
Atas ialah kandungan terperinci Menguasai CSS dalam Panduan CSS Definitif untuk Semua Orang | Bahagian-1. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!