Sifat CSS Berkaitan dengan Antara Muka Pengguna
Artikel ini menerangkan sifat CSS berkaitan dengan antara muka pengguna.
Anda boleh mempelajari tentang sifat content
, cursor
, pointer-events
, dan resize
, termasuk kes penggunaannya dan cara menulisnya.
YouTube Video
HTML untuk Pratonton
css-ui.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-ui.css">
9</head>
10<body>
11 <!-- Header -->
12 <header>
13 <h1>CSS Properties For Animation</h1>
14 </header>
15
16 <!-- Main content -->
17 <main>
18 <header>
19 <h2>User Inferface Related Properties</h2>
20 </header>
21 <article>
22 <h3>content</h3>
23 <section>
24 <h4>Content Examples</h4>
25 <header><h4>content: "Note: ";</h4></header>
26 <section class="sample-view">
27 <div class="content-note">Solid Red Outline</div>
28 </section>
29 <header><h4>content: " (End)";</h4></header>
30 <section class="sample-view">
31 <div class="content-end">Dashed Blue Outline</div>
32 </section>
33 </section>
34 </article>
35 <article>
36 <h3>cursor</h3>
37 <section>
38 <h4>Cursor Examples</h4>
39 <header><h4>cursor: default</h4></header>
40 <section class="sample-view">
41 <div class="default-cursor">This is the default cursor.</div>
42 </section>
43 <header><h4>cursor: pointer</h4></header>
44 <section class="sample-view">
45 <div class="pointer-cursor">This is the pointer cursor (hand).</div>
46 </section>
47 <header><h4>cursor: text</h4></header>
48 <section class="sample-view">
49 <div class="text-cursor">This is the text cursor (I-bar).</div>
50 </section>
51 <header><h4>cursor: wait</h4></header>
52 <section class="sample-view">
53 <div class="wait-cursor">This is the wait cursor (hourglass).</div>
54 </section>
55 <header><h4>cursor: not-allowed</h4></header>
56 <section class="sample-view">
57 <div class="not-allowed-cursor">This is the not-allowed cursor (prohibited).</div>
58 </section>
59 </section>
60 </article>
61 <article>
62 <h3>pointer-events</h3>
63 <section>
64 <h4>Pointer Events Examples</h4>
65 <header><h4>pointer-events: auto</h4></header>
66 <section class="sample-view">
67 <div class="pointer-events-auto" onclick="document.getElementById('message').innerHTML = 'Auto: This box is clickable!'">
68 Auto (Clickable)
69 </div>
70 </section>
71 <header><h4>pointer-events: none</h4></header>
72 <section class="sample-view">
73 <div class="pointer-events-none" onclick="document.getElementById('message').innerHTML = 'None: This box is not clickable!'">
74 None (Not Clickable)
75 </div>
76 </section>
77 <div id="message">Message Box</div>
78 </section>
79 </article>
80 <article>
81 <h3>resize</h3>
82 <section>
83 <header><h4>resize: both</h4></header>
84 <section class="sample-view">
85 <textarea class="resizable-both">Resizes both horizontally and vertically</textarea>
86 </section>
87 <header><h4>resize: horizontal</h4></header>
88 <section class="sample-view">
89 <textarea class="resizable-horizontal">Resizes horizontally</textarea>
90 </section>
91 <header><h4>resize: vertical</h4></header>
92 <section class="sample-view">
93 <textarea class="resizable-vertical">Resizes vertically</textarea>
94 </section>
95 <header><h4>resize: none</h4></header>
96 <section class="sample-view">
97 <textarea class="non-resizable">Cannot resize</textarea>
98 </section>
99 </section>
100 </article>
101 </main>
102</body>
103</html>
Berkaitan dengan Antara Muka Pengguna
Sifat content
1.content-note::before {
2 content: "Note: ";
3 color: red;
4 background-color: steelblue;
5 }
6
7.content-end::after {
8 content: " (End)";
9 color: blue;
10 background-color: lightsteelblue;
11}
Sifat content
digunakan untuk menambahkan kandungan kepada pseudo-elemen, terutamanya ::before
atau ::after
. Sifat ini digunakan untuk mentakrifkan teks, imej, kaunter, dan sebagainya yang tidak dipaparkan secara langsung di dalam elemen. Peranan utamanya adalah untuk membenarkan kawalan kandungan hiasan atau maklumat tambahan yang tidak ditulis secara langsung dalam HTML melalui helaian gaya.
Dalam contoh ini, "Note: " ditambahkan sebelum elemen, dan "(End)" ditambahkan selepas. Ini menggunakan pseudo-elemen ::before
dan ::after
masing-masing.
Nilai untuk sifat content
1/* Text */
2content: "Hello, world!";
3
4/* Image */
5content: url(image.png);
6
7/* Counter */
8content: counter(item);
9
10/* Attribute */
11content: attr(title);
12
13/* None */
14content: none;
Sifat content
boleh mengambil nilai berikut:.
- Teks: Tentukan secara langsung dengan menyertakan string dalam
""
. Menambah teks. - Imej: Gunakan fungsi
url()
untuk memasukkan imej. - Kaunter: Gunakan fungsi
counter()
untuk memaparkan kaunter. - Atribut: Gunakan fungsi
attr()
untuk memaparkan nilai atribut elemen HTML. Sebagai contoh, anda boleh memaparkan atributtitle
. - none: Menentukan bahawa tiada kandungan akan dipaparkan. Ini adalah keadaan lalai.
Nota Penggunaan
- Sifat
content
hanya digunakan pada pseudo-elemen, bukan elemen biasa. - Oleh kerana ia tidak ditambahkan ke DOM, ia tidak boleh dimanipulasi secara langsung dengan JavaScript.
- Ia mungkin mempengaruhi susun atur, jadi ia biasanya digunakan untuk memaparkan maklumat hiasan atau tambahan.
Contoh
1p::before {
2 content: url(icon.png);
3 margin-right: 5px;
4}
Ini adalah contoh menambahkan ikon sebelum tag <p>
.
Dengan cara ini, anda boleh melengkapkan kandungan secara visual melalui helaian gaya.
Sifat cursor
1.default-cursor {
2 cursor: default;
3}
4
5.pointer-cursor {
6 cursor: pointer;
7}
8
9.text-cursor {
10 cursor: text;
11}
12
13.wait-cursor {
14 cursor: wait;
15}
16
17.not-allowed-cursor {
18 cursor: not-allowed;
19}
Sifat cursor
digunakan untuk menentukan jenis kursor yang akan dipaparkan apabila penunjuk tetikus diletakkan di atas elemen. Anda boleh menentukan pelbagai gaya kursor, dan ini sering diterapkan pada elemen interaktif untuk meningkatkan pengalaman pengguna.
Jenis Kursor Utama
Nilai-nilai berikut boleh ditentukan sebagai jenis kursor:.
default
- `default` adalah kursor anak panah biasa (kursor lalai pelayar).
pointer
- `pointer` adalah kursor berbentuk tangan yang dipaparkan apabila diletakkan di atas pautan.
text
- `text` adalah kursor berbentuk balok-I yang dipaparkan di kawasan di mana teks boleh dipilih.
move
- `move` adalah kursor berbentuk salib yang digunakan apabila elemen boleh diseret.
crosshair
- `crosshair` adalah kursor berbentuk bidikan silang untuk pemilihan yang tepat.
not-allowed
- `not-allowed` adalah kursor untuk kawasan atau tindakan yang tidak dibenarkan.
help
- `help` adalah kursor dengan tanda soal yang dipaparkan apabila diletakkan di atas elemen yang boleh memberikan maklumat bantuan.
wait
- `wait` adalah kursor berbentuk jam pasir atau bulatan yang mewakili keadaan pemprosesan.
progress
- `progress` adalah kursor yang mewakili operasi yang sedang berjalan. Namun, ia menunjukkan bahawa pengguna boleh melakukan operasi lain.
grab
- `grab` adalah kursor untuk mengenggam elemen yang boleh diseret.
grabbing
- `grabbing` adalah kursor yang menunjukkan elemen sedang diseret.
resize
- `resize` adalah kursor yang digunakan apabila tetingkap atau elemen boleh diubah saiznya. Terdapat pelbagai jenis bergantung pada arah.
- **`n-resize`**: ubah saiz ke arah atas.
- **`s-resize`**: ubah saiz ke arah bawah.
- **`e-resize`**: ubah saiz ke arah kanan.
- **`w-resize`**: ubah saiz ke arah kiri.
- **`ne-resize`**: ubah saiz ke arah atas-kanan.
- **`nw-resize`**: ubah saiz ke arah atas-kiri.
- **`se-resize`**: ubah saiz ke arah bawah-kanan.
- **`sw-resize`**: ubah saiz ke arah bawah-kiri.
Kursor tersuai
1element {
2 cursor: url('custom-cursor.png'), auto;
3}
Adalah mungkin untuk menentukan kursor tersuai menggunakan url()
.
- Dalam contoh ini,
custom-cursor.png
ialah fail imej untuk kursor. Jika imej itu tidak tersedia, kursor lalai penyemak imbas akan dipaparkan denganauto
.
Ringkasan
- Sifat
cursor
menentukan kursor yang patut dipaparkan apabila pengguna berada di atas elemen. - Terdapat pelbagai gaya kursor bergantung pada kegunaan, dan kursor tersuai juga boleh ditetapkan.
- Dengan memilih gaya kursor yang sesuai mengikut elemen interaktif dan operasi yang dihadkan, UI yang lebih mesra pengguna dapat disediakan.
Sifat pointer-events
1.pointer-events-auto {
2 pointer-events: auto;
3 background-color: lightblue;
4 cursor: pointer;
5}
6
7.pointer-events-none {
8 pointer-events: none;
9 background-color: lightcoral;
10 cursor: pointer;
11}
Sifat pointer-events
digunakan untuk mengawal bagaimana elemen mengendalikan acara daripada peranti penunjuk seperti tetikus, sentuh, dan stylus. Biasanya, apabila elemen diklik atau dilalui oleh pengguna, elemen tersebut menerima acara penunjuk, tetapi tingkah laku ini boleh diubah menggunakan sifat ini.
- Dalam kelas
pointer-events-auto
, sifatpointer-events
ditetapkan kepadaauto
, membolehkan acara klik dan laluan biasa diproses. Elemen boleh diklik, jadi mesej akan dipaparkan apabila ia diklik. - Dalam kelas
pointer-events-auto
, sifatpointer-events
ditetapkan kepadanone
, jadi elemen tersebut tidak menerima acara penunjuk. Walaupun sifatcursor
ditetapkan kepadapointer
, kursor tetikus tidak berubah, dan elemen lain di bawahnya menjadi boleh diklik.
Jenis nilai
- Sifat
pointer-events
menentukan sama ada dan bagaimana elemen menerima acara penunjuk. Anda boleh menentukan nilai berikut.
auto
auto
ialah nilai lalai, di mana elemen menerima acara penunjuk secara normal.
none
- Apabila
none
ditetapkan, elemen tidak menerima acara penunjuk. Elemen ini melumpuhkan interaksi seperti klik dan hover, tetapi elemen lain di bawahnya boleh menerima acara penunjuk.
visiblePainted
, visibleFill
, visibleStroke
, visible
, painted
, fill
, stroke
, all
, inherit
1pointer-events: visiblePainted;
2pointer-events: visibleFill;
3pointer-events: visibleStroke;
4pointer-events: visible;
5pointer-events: painted;
6pointer-events: fill;
7pointer-events: stroke;
8pointer-events: all;
9pointer-events: inherit;
- Nilai-nilai ini terutamanya digunakan untuk elemen SVG. Setiap nilai mengawal sama ada bahagian tertentu elemen (seperti isi, stroke, dan lain-lain) bertindak balas kepada acara penunjuk. Ia tidak biasa digunakan dengan elemen HTML biasa.
Titik penting untuk penggunaan
Berikut adalah beberapa contoh cara menggunakan sifat pointer-events
.
-
Memilih elemen yang anda ingin lumpuhkan
- Nilai
none
berguna untuk melumpuhkan elemen seperti butang atau pautan buat sementara waktu.
- Nilai
-
Penggunaan dengan elemen bertindih
- Apabila sifat
position
ditetapkan kepadaabsolute
atau elemen dilapis menggunakan sifatz-index
, menetapkanpointer-events
kepadanone
pada elemen atas membolehkan acara penunjuk dihantar ke elemen di bawah.
- Apabila sifat
Sifat resize
1.resizable-both {
2 resize: both;
3 overflow: auto;
4 width: 200px;
5 height: 100px;
6 border: 1px solid black;
7}
8
9.resizable-horizontal {
10 resize: horizontal;
11 overflow: auto;
12 width: 200px;
13 height: 100px;
14 border: 1px solid black;
15}
16
17.resizable-vertical {
18 resize: vertical;
19 overflow: auto;
20 width: 200px;
21 height: 100px;
22 border: 1px solid black;
23}
24
25.non-resizable {
26 resize: none;
27 overflow: auto;
28 width: 200px;
29 height: 100px;
30 border: 1px solid black;
31}
Sifat resize
ialah sifat CSS yang menentukan arah mana elemen boleh diubah saiz oleh pengguna. Dengan menggunakan sifat ini, anda boleh membenarkan elemen diubah saiz secara menegak atau mendatar dengan menyeret, atau melumpuhkan pengubahan saiz sepenuhnya.
Dalam contoh ini, arah di mana medan teks boleh diubah saiz ditentukan menggunakan sifat resize
.
- Dengan
resize: both;
, elemen boleh diubah saiz secara mendatar dan menegak. - Dengan
resize: horizontal;
, elemen hanya boleh diubah saiz secara mendatar. - Dengan
resize: vertical;
, elemen hanya boleh diubah saiz secara menegak. - Dengan
resize: none;
, elemen tidak boleh diubah saiz.
Jenis nilai
- Sifat
resize
diberikan nilai yang menentukan arah di mana elemen boleh diubah saiz. Anda boleh menentukan nilai berikut.
none
- Menetapkan
none
melumpuhkan pengubahan saiz elemen. Ini adalah nilai lalai.
both
- Menetapkan
both
membolehkan elemen diubah saiz dalam kedua-dua arah menegak dan mendatar.
horizontal
- Menetapkan
horizontal
membolehkan elemen diubah saiz hanya ke arah mendatar (lebar).
vertical
- Menetapkan
vertical
membolehkan elemen diubah saiz hanya ke arah menegak (tinggi).
inherit
- Menentukan
inherit
menjadikan elemen mewarisi nilai sifatresize
daripada elemen induknya.
Nota
- Untuk menjadikan elemen boleh diubah saiz, anda perlu menetapkan sifat
overflow
bersama-sama dengan sifatresize
. Elemen yang boleh diubah saiznya mungkin memerlukan bar skrol, danoverflow: auto
biasanya ditetapkan. - Pengubahan saiz biasanya digunakan dengan elemen blok seperti
div
dantextarea
.
Anda boleh mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Sila lihat juga saluran YouTube kami.