Properti CSS untuk Tampilan Kode dan Kutipan
Artikel ini menjelaskan properti CSS terkait tampilan kode dan kutipan.
Anda dapat mempelajari properti CSS yang terkait dengan tampilan kode dan kutipan, seperti quotes
dan user-select
, termasuk kasus penggunaannya dan cara menuliskannya.
YouTube Video
HTML untuk Pratinjau
css-code-quotation.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-code-quotation.css">
9</head>
10<body>
11 <!-- Header -->
12 <header>
13 <h1>CSS Properties For Code Display And Quotations</h1>
14 </header>
15
16 <!-- Main content -->
17 <main>
18 <header>
19 <h2>Code Display And Quotations Related Properties</h2>
20 </header>
21 <article>
22 <h3>white-space</h3>
23 <section>
24 <header><h4>white-space: normal</h4></header>
25 <section class="sample-view">
26 <p class="white-space-normal">This is an example with multiple spaces. The spaces will be collapsed.</p>
27 </section>
28 <header><h4>white-space: nowrap</h4></header>
29 <section class="sample-view">
30 <p class="white-space-nowrap">This is an example with no line breaks. The text will not wrap.</p>
31 </section>
32 <header><h4>white-space: pre</h4></header>
33 <section class="sample-view">
34<p class="white-space-pre">This is an
35 example with multiple
36 spaces and
37 line breaks.</p>
38 </section>
39 <header><h4>white-space: pre-wrap</h4></header>
40 <section class="sample-view">
41<p class="white-space-pre-wrap">This is an
42 example with multiple
43 spaces and
44 line breaks. The text will wrap when it reaches the edge.</p>
45 </section>
46 </section>
47 </article>
48 <article>
49 <h3>overflow-wrap</h3>
50 <section>
51 <header><h4>overflow-wrap: normal</h4></header>
52 <section class="sample-view">
53 <section class="overflow-wrap-example">
54 <p class="overflow-wrap-normal">Thisisaverylongwordthatwillnotbreakwithword-breaknormal.</p>
55 </section>
56 </section>
57 <header><h4>overflow-wrap: break-word</h4></header>
58 <section class="sample-view">
59 <section class="overflow-wrap-example">
60 <p class="overflow-wrap-break-word">Thisisaverylongwordthatwillnotbreakwithword-breaknormal.</p>
61 </section>
62 </section>
63 </section>
64 </article>
65 <article>
66 <h3>quotes</h3>
67 <section>
68 <header><h4>quotes: "(" ")"</h4></header>
69 <section class="sample-view">
70 <p>Here's an example of a quote: <q>CSS makes the web beautiful.</q></p>
71 </section>
72 <header><h4>quotes: "(" ")" "[" "]"</h4></header>
73 <section class="sample-view">
74 <p>Here's a nested quote: <q>He said, <q>CSS is powerful.</q></q></p>
75 </section>
76 </section>
77 </article>
78 <article>
79 <h3>user-select</h3>
80 <section>
81 <header><h4>user-select: auto</h4></header>
82 <section class="sample-view">
83 <p class="select-auto">This text is selectable.</p>
84 </section>
85 <header><h4>user-select: none</h4></header>
86 <section class="sample-view">
87 <p class="select-none">This text cannot be selected.</p>
88 </section>
89 <header><h4>user-select: all</h4></header>
90 <section class="sample-view">
91 <p class="select-all">All text will be selected at once.</p>
92 </section>
93 </section>
94 </article>
95 <article>
96 <h3>tab-size</h3>
97 <section>
98 <header><h4>tab-size: initial</h4></header>
99 <section class="sample-view">
100<pre>
101function example() {
102 console.log("Initial Tab size is 8");
103}
104</pre>
105 </section>
106 <section>
107 <header><h4>tab-size: 2</h4></header>
108 <section class="sample-view">
109<pre class="tab-size-2">
110function example() {
111 console.log("Tab size is set to 2");
112}
113</pre>
114 </section>
115 <header><h4>tab-size: 4</h4></header>
116 <section class="sample-view">
117<pre class="tab-size-4">
118function example() {
119 console.log("Tab size is set to 4");
120}
121</pre>
122 </section>
123 <header><h4>tab-size: 20px</h4></header>
124 <section class="sample-view">
125<pre class="tab-size-20px">
126function example() {
127 console.log("Tab size is set to 20px");
128}
129</pre>
130 </section>
131 </section>
132 </article>
133 <article>
134 <h3>text-indent</h3>
135 <section>
136 <header><h4>text-indent: 0</h4></header>
137 <section class="sample-view">
138 <p class="text-indent-0">This text has no indentation. The first line starts flush with the left margin.</p>
139 </section>
140 <header><h4>text-indent: 20px</h4></header>
141 <section class="sample-view">
142 <p class="text-indent-20px">This paragraph has a 20px indentation on the first line.</p>
143 </section>
144 <header><h4>text-indent: -10px</h4></header>
145 <section class="sample-view">
146 <p class="text-indent--10px">This paragraph has a negative indentation, pulling the first line to the left.</p>
147 </section>
148 <header><h4>text-indent: 10%</h4></header>
149 <section class="sample-view">
150 <p class="text-indent-10percent">This paragraph has a first-line indentation of 10% of the containing block's width.</p>
151 </section>
152 <header><h4>text-indent: -20px; margin-left:40px;</h4></header>
153 <section class="sample-view">
154 <p class="text-indent-with-margin">This is an example paragraph using a hanging indent. The second and subsequent lines are indented, while the first line is outdented.</p>
155 </section>
156 </section>
157 </article>
158
159 </main>
160</body>
161</html>
Properti CSS untuk Tampilan Kode dan Kutipan
Properti white-space
1.white-space-normal {
2 white-space: normal;
3 border: 1px solid black;
4 padding: 10px;
5 width: 300px;
6}
7
8.white-space-nowrap {
9 white-space: nowrap;
10 border: 1px solid black;
11 padding: 10px;
12 width: 300px;
13}
14
15.white-space-pre {
16 white-space: pre;
17 border: 1px solid black;
18 padding: 10px;
19 width: 300px;
20}
21
22.white-space-pre-wrap {
23 white-space: pre-wrap;
24 border: 1px solid black;
25 padding: 10px;
26 width: 300px;
27}
Properti white-space
adalah properti CSS yang menentukan bagaimana spasi kosong dan pemisahan baris ditangani di dalam sebuah elemen. Secara default, HTML memperlakukan beberapa spasi sebagai satu spasi, tetapi properti white-space
memungkinkan Anda untuk mengubah perilaku ini.
Nilai utama dari white-space
normal
adalah nilai default, di mana beberapa spasi digabungkan menjadi satu, dan baris dipisahkan secara otomatis.nowrap
menggabungkan spasi menjadi satu tetapi mencegah pemisahan baris. Konten ditampilkan dalam satu baris.pre
mempertahankan spasi kosong dan pemisahan baris sesuai aslinya. Pemisahan baris tidak terjadi.pre-wrap
mempertahankan spasi kosong dan pemisahan baris sambil memungkinkan pemisahan baris.pre-line
menggabungkan spasi tetapi mempertahankan pemisahan baris, dan memungkinkan pemisahan baris.break-spaces
mempertahankan spasi dan pemisahan baris, sambil memungkinkan pemisahan pada kata yang panjang atau spasi kosong.
Properti overflow-wrap
1.overflow-wrap-example {
2 width: 200px;
3 border: 1px solid #000;
4}
5
6.overflow-wrap-normal {
7 overflow-wrap: normal;
8}
9
10.overflow-wrap-break-word {
11 overflow-wrap: break-word;
12}
Properti overflow-wrap
, sebelumnya dikenal sebagai word-wrap
, menentukan bagaimana kata-kata ditangani ketika melebihi lebar kontainer. Dengan menggunakan properti ini, Anda dapat membungkus kata secara benar untuk mencegah teks meluap dan merusak tata letak.
Dalam contoh ini, dengan normal
, kata yang panjang dapat melebihi kontainer dan menyebabkan pengguliran horizontal, tetapi break-word
memaksa kata panjang untuk dibungkus.
Nilai properti
overflow-wrap
terutama memiliki dua nilai:.
-
normal
normal
adalah nilai default, di mana peramban mengikuti aturan pembungkusan kata standar. Biasanya, kata-kata hanya dibungkus pada titik-titik yang dapat dipisahkan seperti spasi atau tanda hubung. Jika sebuah kata sangat panjang, kata tersebut mungkin melebihi lebar kontainer dan merusak tata letak. -
break-word
break-word
memaksa pemisahan baris jika diperlukan, membungkus teks ke baris berikutnya terlepas dari panjang kata. Ini membantu mencegah tata letak kontainer rusak karena kata-kata yang terlalu panjang.Ketika
break-word
ditentukan, kata-kata akan terbungkus bahkan di tempat tanpa spasi atau tanda hubung untuk sesuai dengan lebar layar. Ini sangat berguna untuk URL atau kata-kata yang sangat panjang.
Perbedaan Antara overflow-wrap
dan Properti Lain
Properti yang mirip dengan overflow-wrap
termasuk word-break
dan white-space
.
Perbedaan dengan word-break
word-break
menentukan bagaimana seluruh kata diproses, sedangkan overflow-wrap
hanya memicu pembungkusan ketika sebuah kata melebihi lebar kontainer. Sebagai contoh, word-break: break-all;
memotong kata pada posisi mana saja, bahkan jika kata tersebut tidak panjang, sedangkan overflow-wrap
hanya membungkus kata ketika kata tersebut melebihi kontainer.
Perbedaan dengan white-space
Properti white-space
mengontrol bagaimana pemutusan baris dan spasi diproses dalam seluruh teks. Tidak seperti overflow-wrap
, white-space
menentukan apakah pemutusan baris dan spasi dipertahankan namun tidak secara langsung memengaruhi pembungkusan kata.
Sebagai contoh, white-space: nowrap;
memastikan bahwa seluruh teks tetap berada dalam satu baris tanpa pembungkusan. Di sisi lain, overflow-wrap
mengontrol pembungkusan teks.
Kasus Penggunaan Praktis
overflow-wrap
sangat berguna dalam situasi-situasi berikut:.
- Menampilkan URL: Mencegah masalah tata letak saat menampilkan URL panjang.
- Istilah Teknis: Menangani kasus-kasus di mana kata-kata berbahasa Inggris yang berkelanjutan atau istilah teknis melebihi lebar kontainer.
- Desain Responsif: Memastikan bahwa teks panjang tidak merusak tata letak bahkan pada layar kecil.
Properti quotes
1q {
2 quotes: "(" ")" "[" "]";
3}
Properti quotes
digunakan untuk menyesuaikan tanda kutip. Biasanya, tanda kutip akan otomatis dimasukkan saat membungkus konten elemen <blockquote>
atau <q>
, namun dengan menggunakan properti quotes
, Anda dapat menentukan tanda kutip khusus.
Dalam contoh ini, tanda kurung ((
, )
) digunakan sebagai tanda kutip luar. Selain itu, tanda kutip bersarang direpresentasikan dengan tanda kurung siku ([
, ]
).
Sintaksis
1element {
2 quotes: [opening-quote closing-quote] [, opening-quote closing-quote] ...;
3}
Properti quotes
dapat ditentukan dengan nilai-nilai seperti berikut:.
none
: Tidak ada tanda kutip yang akan ditampilkan.- Serangkaian kutipan: Tentukan tanda kutip pembuka dan penutup. Set pertama merepresentasikan tanda kutip luar, sementara set berikutnya digunakan untuk kutipan bersarang.
Poin penting dari quotes
Properti quotes
adalah properti yang berguna untuk menyesuaikan tanda kutip yang digunakan dalam kutipan teks. Dengan menetapkan tanda kutip yang sesuai dengan desain dan bahasa, Anda dapat mencapai tampilan halaman yang lebih canggih. Menggunakan properti quotes
memberikan manfaat seperti berikut:.
- Sesuaikan tanda kutip: Anda dapat mengubah bentuk standar tanda kutip atau menetapkan tanda kutip yang disesuaikan dengan desain tertentu.
- Mendukung tanda kutip bersarang: Anda dapat menerapkan set tanda kutip yang berbeda untuk tanda kutip bersarang.
- Dapat disesuaikan berdasarkan negara dan bahasa: Mudah menerapkan gaya tanda kutip yang berbeda tergantung pada bahasa atau negara, yang berguna untuk situs web internasional.
Properti user-select
1.select-auto {
2 user-select: auto;
3}
4
5.select-none {
6 user-select: none;
7}
8
9.select-all {
10 user-select: all;
11}
-
Properti
user-select
adalah properti CSS yang digunakan untuk mengontrol apakah pengguna dapat memilih teks. Dengan menggunakan properti ini, Anda dapat mencegah teks agar tidak disalin pada elemen tertentu atau di seluruh halaman, atau sebaliknya membuatnya dapat dipilih. Jika Anda menentukanall
untuk propertiuser-select
, seluruh elemen akan dipilih sekaligus. Misalnya, ketika pengguna mengklik pada bidang teks atau paragraf, seluruh elemen akan dipilih sekaligus. -
Ini juga dapat digunakan untuk pemilihan massal kode sumber.
-
Pada contoh ini, teks dari paragraf pertama dapat dipilih, tetapi teks dari paragraf kedua tidak dapat dipilih. Pada kelas
select-all
, propertiuser-select
diatur keall
, memungkinkan seluruh elemen dipilih sekaligus.
Sintaksis
1element {
2 user-select: auto | none | text | all | contain;
3}
Properti user-select
dapat ditentukan dengan nilai-nilai berikut:.
auto
: Gunakan perilaku default browser. Pemilihan teks diizinkan pada sebagian besar elemen, tetapi mungkin dibatasi pada beberapa elemen interaktif seperti tombol dan tautan.none
: Pemilihan teks sepenuhnya dinonaktifkan. Pengguna tidak akan dapat memilih teks di dalam elemen tersebut.text
: Mengizinkan hanya teks di dalam elemen untuk dipilih.all
: Seluruh elemen dipilih sekaligus. Alih-alih memilih sebagian, seluruh elemen akan dipilih sebagai satu kesatuan.contain
: Hanya didukung oleh beberapa browser. Hanya elemen pada lokasi yang diklik yang dapat dipilih.
Browser yang Didukung
Properti user-select
didukung oleh sebagian besar browser modern. Namun, beberapa browser mungkin memerlukan awalan vendor seperti -webkit-user-select
.
- Chrome: Didukung
- Firefox: Didukung
- Safari: Didukung (memerlukan awalan
-webkit-
) - Edge: Didukung
- Internet Explorer: Tidak Didukung
Kasus Penggunaan Utama
Properti user-select
menawarkan keuntungan-keuntungan berikut.
- Elemen UI: Nonaktifkan pemilihan teks untuk menghindari gangguan dengan operasi klik atau seret.
- Cegah penyalinan teks: Cegah pemilihan dan penyalinan teks pada elemen tertentu.
- Formulir dan elemen interaktif: Terapkan pada elemen interaktif di mana pemilihan teks tidak diperlukan untuk meningkatkan pengalaman pengguna.
Ringkasan
User-select
adalah properti CSS yang berguna yang memungkinkan kontrol fleksibel atas pemilihan teks di sebuah halaman web. Ini dapat mencegah pengguna secara tidak sengaja memilih teks yang tidak diperlukan atau memungkinkan mereka memilih semuanya sekaligus, sesuai dengan berbagai interaksi.
Properti tab-size
1.tab-size-2 {
2 tab-size: 2;
3}
4
5.tab-size-4 {
6 tab-size: 4;
7}
8
9.tab-size-20px {
10 tab-size: 20px;
11}
- Properti
tab-size
digunakan untuk menyesuaikan ruang untuk karakter tab. Secara default, lebar tab biasanya diatur ke 8 spasi, tetapi dapat disesuaikan ke nilai apa pun menggunakan propertitab-size
.
Sintaksis
1element {
2 tab-size: length | number;
3}
Properti tab-size
dapat menerima jenis nilai berikut.
number
: Menentukan lebar karakter tab dalam jumlah karakter. Anda dapat menentukan angka bulat atau desimal.length
: Menentukan lebar karakter tab menggunakan unit panjang (misalnya, px, em).
Catatan
-
Properti
tab-size
biasanya digunakan dengan font monospace. Saat digunakan dengan font proporsional, lebar tab mungkin menjadi tidak rata. -
Saat menentukan jumlah karakter, perhatikan penskalaan pada perangkat yang berbeda.
Ringkasan
Menggunakan properti tab-size
meningkatkan fleksibilitas saat menampilkan kode atau karakter tab. Sebagai pengembang, mengatur lebar tab dengan benar memastikan keterbacaan kode dan konsistensi desain.
Properti text-indent
1p.text-indent-0 {
2 text-indent: 0;
3}
4
5p.text-indent-20px {
6 text-indent: 20px;
7}
8
9p.text-indent--10px {
10 text-indent: -10px;
11}
12
13p.text-indent-10percent {
14 text-indent: 10%;
15}
16
17p.text-indent-with-margin {
18 text-indent: -20px;
19 margin-left: 20px;
20}
- Properti
text-indent
digunakan untuk membuat lekukan pada baris pertama teks dalam elemen blok dengan jarak tertentu. Properti ini memungkinkan Anda untuk mengatur gaya hanya pada baris pertama paragraf.
Sintaksis
1element {
2 text-indent: length | percentage;
3}
Properti text-indent
dapat menerima jenis nilai berikut.
length
: Menentukan lekukan menggunakan unit panjang (misalnya, px, em).percentage
: Menentukan lekukan sebagai persentase berdasarkan lebar elemen kontainer.
Catatan
text-indent
hanya berlaku untuk elemen blok. Itu tidak berpengaruh pada elemen inline.
Ringkasan
Properti text-indent
adalah alat yang sederhana namun kuat untuk menciptakan desain teks yang mudah dibaca. Dengan menguasai dasar-dasar dan memahami kasus penggunaan yang lebih lanjut dan pertimbangan terkait, Anda dapat membuat gaya lebih efektif.
Anda dapat mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Silakan periksa juga saluran YouTube kami.