`@media` dan Reka Bentuk Responsif

`@media` dan Reka Bentuk Responsif

Artikel ini menerangkan tentang @media dan reka bentuk responsif.

Anda akan belajar cara membuat susun atur yang fleksibel melalui sintaks asas dan contoh penggunaan @media.

YouTube Video

HTML untuk Pratonton

css-responsive-media.html
  1<!DOCTYPE html>
  2<html lang="en">
  3<head>
  4    <meta charset="UTF-8">
  5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6    <title>CSS Properties Example</title>
  7    <link rel="stylesheet" href="css-base.css">
  8    <link rel="stylesheet" href="css-responsive-media.css">
  9</head>
 10<body>
 11    <!-- Header -->
 12    <header>
 13        <h1>CSS Properties For Responsive Design</h1>
 14    </header>
 15
 16    <!-- Main content -->
 17    <main>
 18        <header>
 19            <h2>@media</h2>
 20        </header>
 21        <article>
 22            <h3>@media Syntax</h3>
 23            <section>
 24                <header><h4>CSS</h4></header>
 25<pre class="sample">
 26@media media-type and (condition) {
 27    /* Styles applied when the media query is matched */
 28}
 29</pre>
 30            </section>
 31        </article>
 32        <article>
 33            <h3>@media Example : max-width</h3>
 34            <section>
 35                <header><h4>CSS</h4></header>
 36<pre class="sample">
 37@media screen and (max-width: 600px) {
 38    body {
 39        background-color: lightblue;
 40    }
 41    p {
 42        font-size: 14px;
 43    }
 44}
 45</pre>
 46            </section>
 47        </article>
 48        <article>
 49            <h3>@media Example : orientation</h3>
 50            <section>
 51                <header><h4>CSS</h4></header>
 52<pre class="sample">
 53@media screen and (orientation: landscape) {
 54    body {
 55        background-color: lightgreen;
 56    }
 57}
 58</pre>
 59            </section>
 60        </article>
 61        <article>
 62            <h3>@media Example : min-width &amp; max-width</h3>
 63            <section>
 64                <header><h4>CSS</h4></header>
 65<pre class="sample">
 66@media screen and (min-width: 768px) and (max-width: 1024px) {
 67    body {
 68        background-color: lightgray;
 69    }
 70}
 71</pre>
 72            </section>
 73        </article>
 74        <article>
 75            <h3>@media Example : devices</h3>
 76            <section>
 77                <header><h4>CSS</h4></header>
 78<pre class="sample">
 79/* Mobile styles */
 80@media screen and (max-width: 600px) {
 81    body {
 82        font-size: 14px;
 83    }
 84}
 85
 86/* Tablet styles */
 87@media screen and (min-width: 601px) and (max-width: 1024px) {
 88    body {
 89        font-size: 16px;
 90    }
 91}
 92
 93/* Desktop styles */
 94@media screen and (min-width: 1025px) {
 95    body {
 96        font-size: 18px;
 97    }
 98}
 99</pre>
100            </section>
101        </article>
102    </main>
103</body>
104</html>

Peraturan @media

@media ialah peraturan untuk menggunakan pertanyaan media CSS bagi menerapkan gaya berdasarkan syarat tertentu. Ini membolehkan CSS yang berbeza diterapkan mengikut saiz skrin peranti, orientasi, resolusi, atau ciri lain. Digunakan terutamanya untuk reka bentuk responsif, ia membantu menyesuaikan paparan pada pelbagai peranti seperti desktop, tablet, dan mudah alih.

Sintaks Asas

1@media media-type and (condition) {
2    /* Styles applied when the media query is matched */
3}
  • Dalam media-type, nyatakan jenis media (contohnya, screen, print).
  • Dalam condition, nyatakan syarat seperti saiz skrin atau resolusi.

Jenis Media

  • screen: Gaya untuk paparan skrin, seperti pada komputer dan telefon pintar.
  • print: Gaya ini digunakan untuk mencetak.
  • all: Gaya ini digunakan untuk semua jenis media.

Syarat yang Biasa Digunakan

  • min-width / max-width: Terapkan gaya mengikut lebar minimum/maksimum skrin.
  • min-height / max-height: Terapkan gaya mengikut ketinggian minimum/maksimum skrin.
  • orientation: Nyatakan orientasi skrin (portrait untuk menegak, landscape untuk mendatar).
  • resolution: Terapkan gaya mengikut resolusi skrin (contohnya, DPI).

Contoh Penggunaan

Perubahan gaya berdasarkan lebar skrin

Sebagai contoh, untuk menyatakan gaya yang diterapkan apabila lebar skrin kurang daripada 600 piksel, anda boleh menulisnya seperti berikut:.

1@media screen and (max-width: 600px) {
2    body {
3        background-color: lightblue;
4    }
5    p {
6        font-size: 14px;
7    }
8}
  • Pada peranti dengan lebar skrin 600px atau kurang, warna latar belakang berubah menjadi biru muda dan saiz fon perenggan menjadi 14px.

Gaya berdasarkan orientasi skrin

Untuk menerapkan gaya apabila peranti berada dalam orientasi mendatar, anda boleh menulisnya seperti ini:.

1@media screen and (orientation: landscape) {
2    body {
3        background-color: lightgreen;
4    }
5}
  • Apabila skrin berada dalam mod mendatar, warna latar belakang menjadi hijau muda.

3. Contoh menggabungkan pelbagai syarat

Anda boleh menggabungkan pelbagai syarat dengan and untuk menerapkan gaya kepada syarat yang lebih spesifik.

1@media screen and (min-width: 768px) and (max-width: 1024px) {
2    body {
3        background-color: lightgray;
4    }
5}
  • Jika lebar skrin berada antara 768px dan 1024px, warna latar belakang akan berubah menjadi kelabu muda.

Contoh Aplikasi: Reka Bentuk Responsif

 1/* Mobile styles */
 2@media screen and (max-width: 600px) {
 3    body {
 4        font-size: 14px;
 5    }
 6}
 7
 8/* Tablet styles */
 9@media screen and (min-width: 601px) and (max-width: 1024px) {
10    body {
11        font-size: 16px;
12    }
13}
14
15/* Desktop styles */
16@media screen and (min-width: 1025px) {
17    body {
18        font-size: 18px;
19    }
20}

Dalam reka bentuk responsif, adalah biasa untuk menerapkan susun atur yang berbeza bergantung pada lebar skrin.

  • Saiz fon berubah pada peranti mudah alih (600px atau kurang), tablet (601px hingga 1024px), dan desktop (1025px atau lebih).

Ringkasan

@media adalah alat yang berkuasa untuk menukar gaya CSS menurut peranti dan saiz skrin, dan sangat penting untuk reka bentuk responsif. Dengan mahir menggunakan syarat seperti min-width dan max-width, anda boleh mencipta laman web yang dioptimumkan untuk pelbagai peranti.

Anda boleh mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Sila lihat juga saluran YouTube kami.

YouTube Video