Sifat CSS yang berkaitan dengan hiasan model kotak
Artikel ini menerangkan sifat CSS yang berkaitan dengan hiasan model kotak.
Anda boleh belajar cara menulis sifat seperti sempadan dan bayang-bayang.
YouTube Video
HTML untuk Pratonton
css-decoration.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-decoration.css">
9</head>
10<body>
11 <!-- Header -->
12 <header>
13 <h1>Box Decoration Related CSS Properties Example</h1>
14 </header>
15
16 <!-- Main content -->
17 <main>
18 <header>
19 <h2>Box Decoration</h2>
20 </header>
21 <article>
22 <h3>border</h3>
23 <section>
24 <header><h4>border: 3px solid #333</h4></header>
25 <section class="sample-view">
26 <div class="border-solid">Solid Border</div>
27 </section>
28 <header><h4>border: 3px dashed #666</h4></header>
29 <section class="sample-view">
30 <div class="border-dashed">Dashed Border</div>
31 </section>
32 <header><h4>border: 5px double #999</h4></header>
33 <section class="sample-view">
34 <div class="border-double">Double Border</div>
35 </section>
36 <header><h4>border: 2px solid #000; border-radius: 15px;</h4></header>
37 <section class="sample-view">
38 <div class="border-rounded">Rounded Border</div>
39 </section>
40 </section>
41 </article>
42
43 <article>
44 <h3>border-radius</h3>
45 <section>
46 <header><h4>border-radius: 20px</h4></header>
47 <section class="sample-view">
48 <div class="border-radius-all-rounded">All corners rounded</div>
49 </section>
50 <header><h4>border-top-left-radius: 20px</h4></header>
51 <section class="sample-view">
52 <div class="border-radius-top-left-rounded">Top-left rounded</div>
53 </section>
54 <header><h4>border-radius: 50px / 25px</h4></header>
55 <section class="sample-view">
56 <div class="border-radius-ellipse-corners">Ellipse corners</div>
57 </section>
58 </section>
59 </article>
60
61 <article>
62 <h3>outline</h3>
63 <section>
64 <h4>Outline Examples</h4>
65 <header><h4>outline: 2px solid red</h4></header>
66 <section class="sample-view">
67 <div class="outline-solid">Solid Red Outline</div>
68 </section>
69 <header><h4>outline: 3px dashed blue</h4></header>
70 <section class="sample-view">
71 <div class="outline-dashed">Dashed Blue Outline</div>
72 </section>
73 <header><h4>outline: 4px double green</h4></header>
74 <section class="sample-view">
75 <div class="outline-double">Double Green Outline</div>
76 </section>
77 <header><h4>outline: 2px solid purple; outline-offset: 10px;</h4></header>
78 <section class="sample-view">
79 <div class="outline-offset">Outline with Offset</div>
80 </section>
81 </section>
82 </article>
83
84 <article>
85 <h3>box-shadow</h3>
86 <section>
87 <h4>Box Shadow Examples</h4>
88 <header><h4>box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.5)</h4></header>
89 <section class="sample-view">
90 <div class="box-shadow-basic-shadow">Basic Shadow</div>
91 </section>
92 <header><h4>box-shadow: inset 5px 5px 10px rgba(0, 0, 0, 0.3)</h4></header>
93 <section class="sample-view">
94 <div class="box-shadow-inset-shadow">Inset Shadow</div>
95 </section>
96 <header><h4>box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5), -5px -5px 10px rgba(255, 0, 0, 0.5);</h4></header>
97 <section class="sample-view">
98 <div class="box-shadow-multiple-shadow">Multiple Shadows</div>
99 </section>
100 </section>
101 </article>
102 </main>
103</body>
104</html>
Hiasan
Sifat border
1.border-solid, .border-dashed, .border-double, .border-rounded {
2 background-color: lightsteelblue;
3}
4
5.border-solid {
6 border: 3px solid #333;
7}
8
9.border-dashed {
10 border: 3px dashed #666;
11}
12
13.border-double {
14 border: 5px double #999;
15}
16
17.border-rounded {
18 border: 2px solid #000;
19 border-radius: 15px;
20}
Sifat border
digunakan dalam CSS untuk menetapkan bingkai elemen. border
terdiri daripada tiga elemen: lebar, gaya, dan warna, yang digabungkan untuk menetapkan bingkai elemen.
Struktur Asas border
1/* Shorthand syntax */
2border: [border-width] [border-style] [border-color];
3
4/* Example of border property */
5border: 5px solid white;
6
7/* Example of individual properties */
8border-width: 5px;
9border-style: solid;
10border-color: black;
-
Gunakan
border-width
untuk menentukan ketebalan sempadan. Unit ditentukan dalampx
,em
,%
, dan sebagainya. -
Tentukan jenis sempadan dengan
border-style
. Anda boleh menentukan nilai berikut.- Nilai Gaya:
none
(tiada sempadan)solid
(garisan pepejal)berbintik
(garisan berbintik)bergaris putus
(garisan putus-putus)double
(garisan dua)groove
(garisan beralur)ridge
(garisan berbingkai)inset
(garisan bayang masuk)outset
(garisan bayang keluar)
- Nilai Gaya:
Tentukan warna sempadan dengan border-color
. Warna boleh ditentukan menggunakan nama warna, rgb()
, rgba()
, hex
, dan sebagainya.
Tetapan Individu untuk Setiap Sisi
1.box {
2 border-top: 3px solid red; /* Top border: 3px solid red */
3 border-right: 5px dashed blue; /* Right border: 5px dashed blue */
4 border-bottom: 2px double green; /* Bottom border: 2px double green */
5 border-left: 1px dotted black; /* Left border: 1px dotted black */
6}
Anda juga boleh menetapkan gaya berbeza untuk setiap sisi seperti ini.
Tetapan Individu untuk Lebar, Gaya, dan Warna
1.box {
2 /* Specify border width for top, right, bottom, and left */
3 border-width: 2px 4px 6px 8px;
4
5 /* Specify border style for top, right, bottom, and left */
6 border-style: solid dotted dashed double;
7
8 /* Specify border color for top, right, bottom, and left */
9 border-color: red green blue yellow;
10}
Anda juga boleh menentukan setiap aspek secara berasingan menggunakan border-width
, border-style
, dan border-color
.
Menggabungkan dengan border-radius
1.box-rounded {
2 border: 2px solid #000;
3 border-radius: 10px; /* Round corners by 10px */
4}
Dengan menggunakan sifat border-radius
, anda boleh membundarkan sudut sempadan.
Sifat border-radius
1.border-radius-all-rounded, .border-radius-top-left-rounded, .border-radius-ellipse-corners {
2 background-color: lightsteelblue;
3}
4
5/* Round all corners */
6.border-radius-all-rounded {
7 border-radius: 20px;
8}
9
10/* Round only the top-left corner */
11.border-radius-top-left-rounded {
12 border-top-left-radius: 20px;
13}
14
15/* Elliptical corners */
16.border-radius-ellipse-corners {
17 border-radius: 50px / 25px;
18}
Sifat border-radius
digunakan untuk membundarkan sudut elemen. Anda boleh melengkung dengan halus keempat-empat sudut elemen HTML, mengubah segi empat tepat atau segi empat sama menjadi reka bentuk bulat.
Penjelasan:
- Kelas
border-radius-all-rounded
membuat semua sudut bulat dengan 20 piksel, menghasilkan kotak yang licin dan bulat. - Kelas
border-radius-top-left-rounded
hanya membulatkan sudut kiri atas dengan 20 piksel, mengekalkan sudut lain bersudut tepat. - Kelas
border-radius-ellipse-corners
mencipta sudut eliptikal, menghasilkan kotak dengan bentuk bulat yang diregangkan secara mendatar.
Format sifat border-radius
1border-radius: value;
2border-radius: top-left-and-bottom-right top-right-and-bottom-left;
3border-radius: top-left top-right bottom-right bottom-left;
4border-top-left-radius: value;
5border-top-right-radius: value;
6border-bottom-right-radius: value;
7border-bottom-left-radius: value;
- Nilai untuk sifat
border-radius
biasanya ditentukan dalam piksel atau peratusan. Anda juga boleh menetapkan antara 1 hingga 4 nilai.- Menentukan satu nilai menjadikan semua sudut bulat secara seragam.
- Menentukan dua nilai menetapkan nilai pertama pada sudut kiri atas dan kanan bawah, dan nilai kedua pada sudut kanan atas dan kiri bawah.
- Dengan menentukan empat nilai, anda boleh menetapkan jejari berbeza untuk setiap sudut. Nilai diterapkan mengikut arah jam dari sudut kiri atas.
- Anda juga boleh menetapkannya secara individu seperti
border-top-left-radius
.
1border-radius: 50px / 25px;
- Sifat
border-radius
juga boleh menentukan jejari vertikal dan horizontal secara individu untuk membentuk sudut eliptikal. Dalam kes ini, asingkan dengan/
.- Sebagai contoh, menentukan
50px / 25px
menjadikan jejari horizontal 50 piksel dan jejari vertikal 25 piksel.
- Sebagai contoh, menentukan
Ringkasan
border-radius
adalah sifat untuk membundarkan sudut elemen.- Anda boleh menentukan kegebuan pada sudut dalam piksel atau peratusan, menerapkannya pada semua sudut, sudut tertentu, atau menjadikannya elips.
- Ia berguna untuk reka bentuk fleksibel dan menyesuaikan antara muka pengguna.
Sifat outline
1.outline-solid, .outline-dashed, .outline-double, .outline-offset {
2 background-color: lightsteelblue;
3}
4
5.outline-solid {
6 outline: 2px solid red;
7}
8
9.outline-dashed {
10 outline: 3px dashed blue;
11}
12
13.outline-double {
14 outline: 4px double green;
15}
16
17.outline-offset {
18 outline: 2px solid purple;
19 outline-offset: 10px;
20}
Sifat outline
adalah sifat CSS untuk menetapkan garis yang dilukis di sekitar elemen.
outline
serupa dengan border
, tetapi berbeza dalam perkara berikut:.
outline
tidak mempengaruhi model kotak elemen, jadi ia tidak memberi kesan kepada susun atur elemen.- Oleh kerana
outline
dilukis di luar elemen, ia kelihatan di luarborder
. border
dilukis di dalam elemen, jadi ia boleh mempengaruhi saiz dan susun atur elemen.
Dalam contoh ini, sifat outline
ditetapkan seperti berikut:.
- Kelas
outline-solid
menetapkanoutline
merah solid dengan ketebalan 2px. - Kelas
outline-dashed
menetapkanoutline
biru putus-putus dengan ketebalan 3px. - Kelas
outline-double
menetapkanoutline
berganda hijau dengan ketebalan 4px. - Kelas
outline-offset
menetapkan jarak 10px antaraoutline
dan elemen.
Sintaks Asas
1element {
2 outline: outline-width outline-style outline-color;
3 outline-offset: 10px;
4}
outline-width
outline-width
menentukan ketebalanoutline
.- Anda boleh menentukan nilai seperti
thin
,medium
,thick
, atau dalam unit sepertipx
,em
.
outline-style
outline-style
menentukan gayaoutline
.- Anda boleh menentukan gaya seperti
solid
,dotted
,dashed
,double
,groove
,ridge
,inset
,outset
,none
, dsb.
outline-color
outline-color
menentukan warnaoutline
.- Anda boleh menentukan sebarang warna menggunakan nama, HEX, RGB, dsb.
outline-offset
outline-offset
menentukan jarak antaraoutline
dan elemen.- Anda boleh menentukan nilai tepat dalam unit seperti
px
,em
, dsb.
Sifat box-shadow
1.box-shadow-basic-shadow, .box-shadow-inset-shadow, .box-shadow-multiple-shadow {
2 background-color: lightsteelblue;
3}
4
5/* Basic shadow */
6.box-shadow-basic-shadow {
7 box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.5);
8}
9
10/* Inner shadow */
11.box-shadow-inset-shadow {
12 box-shadow: inset 5px 5px 10px rgba(0, 0, 0, 0.3);
13}
14
15/* Multiple shadows */
16.box-shadow-multiple-shadow {
17 box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5),
18 -5px -5px 10px rgba(255, 0, 0, 0.5);
19}
Sifat box-shadow
digunakan untuk menambah bayangan pada elemen. Dengan menggunakan sifat ini, anda boleh mencipta bayang-bayang di sekitar elemen untuk meluahkan rasa dimensi dan kedalaman.
Penjelasan:
-
Dalam kelas
box-shadow-basic-shadow
, bayang hitam kabur dipaparkan di bahagian bawah kanan elemen. -
Dalam kelas
box-shadow-inset-shadow
, bayang kabur dipaparkan di dalam elemen. Dengan bayang memasuki ke dalam, anda boleh mencapai reka bentuk yang tenggelam. -
Dalam kelas
box-shadow-multiple-shadow
, dua bayang, hitam dan merah, dikenakan pada elemen. Oleh kerana ia dipaparkan di kedudukan yang berbeza, kesan tiga dimensi dapat dicapai.
Format Sifat box-shadow
1box-shadow: [1:horizontal offset] [2:vertical offset] [3:blur radius] [4:spread radius] [5:color];
2box-shadow: inset [1:horizontal offset] [2:vertical offset] [3:blur radius] [4:spread radius] [5:color];
Makna setiap nilai
Yang pertama horizontal offset
ialah nilai bagi ofset melintang, menetapkan posisi bayang dari bahagian kiri elemen. Menentukan nilai positif meletakkan bayang ke kanan, dan nilai negatif meletakkannya ke kiri.
Yang kedua vertical offset
ialah nilai bagi ofset menegak, menetapkan posisi bayang dari bahagian atas elemen. Menentukan nilai positif meletakkan bayang di bawah, dan nilai negatif meletakkannya di atas.
Blur radius
yang ketiga ialah nilai untuk tahap kekaburan, menetapkan kekaburan bayang. Semakin besar nilainya, semakin meluas bayang, menghasilkan bayang yang lebih kabur. Menentukan nilai positif meletakkan bayang di bawah, dan nilai negatif meletakkannya di atas. Ini adalah pilihan, dan nilai lalainya ialah 0
, bermaksud tiada kekaburan pada bayang.
Spread radius
yang keempat ialah nilai julat penyebaran, menetapkan sejauh mana bayang menyebar. Menentukan nilai positif akan membuat bayang menjadi lebih besar, manakala nilai negatif akan menyusutkannya. Nilai ini juga adalah pilihan.
Color
yang kelima ialah nilai warna, menetapkan warna bayang. Warna boleh ditetapkan menggunakan nama warna, RGB, HEX, HSL, dan model warna lain yang tersedia dalam CSS. Jika tidak ditentukan, warna teks lalai elemen (nilai sifat color
) akan digunakan.
Anda juga boleh menentukan kata kunci inset
terlebih dahulu. Menentukan kata kunci inset
melukis bayang di dalam elemen, bukan di luarnya. Ia juga boleh menetapkan pelbagai bayang yang dipisahkan oleh koma.
Contoh box-shadow
Contoh bayangan asas
1div {
2 box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.5);
3}
- Anjakan mendatar adalah
10px
, menghasilkan bayangan 10 piksel ke kanan. - Anjakan menegak adalah
10px
, menghasilkan bayangan 10 piksel ke bawah. - Radius kabur adalah
5px
, menghasilkan bayangan kabur sebanyak 5 piksel. - Warna adalah
rgba(0, 0, 0, 0.5)
, menghasilkan warna hitam semi-telus.
Contoh bayangan dalam
1div {
2 box-shadow: inset 5px 5px 10px rgba(0, 0, 0, 0.3);
3}
- Menggunakan
inset
menarik bayangan ke dalam elemen.
Contoh bayangan berbilang
1div {
2 box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5), -5px -5px 10px rgba(255, 0, 0, 0.5);
3}
- Anda juga boleh menetapkan bayangan berbilang yang dipisahkan dengan koma. Dalam contoh ini, dua bayangan digunakan: satu bayangan hitam dan satu bayangan merah.
Ringkasan
box-shadow
adalah sifat yang digunakan untuk menambah bayangan pada elemen untuk mencipta rasa kedalaman.- Dengan menggabungkan anjakan mendatar dan menegak, kabur, radius sebaran, dan warna, pelbagai kesan boleh dicapai.
- Anda boleh melukis bayangan ke dalam dengan
inset
, dan anda juga boleh menetapkan bayangan berbilang sekali gus.
Anda boleh mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Sila lihat juga saluran YouTube kami.