Gabungan dalam Penempatan Bersarang
Artikel ini menerangkan mengenai gabungan dalam penempatan bersarang.
Kami akan menerangkan cara menggunakan gabungan dalam penempatan bersarang dengan SASS dan menyediakan contoh kod untuk membantu anda memahaminya langkah demi langkah.
YouTube Video
Gabungan dalam Penempatan Bersarang
Dalam SASS, anda boleh menulis penentu CSS dengan ringkas berdasarkan hubungan induk-anak, tetapi perhatian khusus diperlukan untuk mengendalikan gabungan seperti penentu turunan dan bersebelahan dengan betul.
Asas Penempatan Bersarang
Dalam SASS, dengan meletakkan penentu anak di dalam penentu induk, anda boleh mewakili hubungan induk-anak dalam CSS dengan jelas dan ringkas.
Contoh: Penempatan Bersarang Asas
1.nav {
2 ul {
3 li {
4 color: blue;
5 }
6 }
7}
CSS yang Telah Disusun
1.nav ul li {
2 color: blue;
3}
Rujukan Penentu Induk (&
)
&
dalam SASS digunakan untuk merujuk kepada penentu induk semasa.
Menggabungkan Gabungan dan &
Dengan menggunakan &
, anda boleh membina penentu yang fleksibel.
Contoh
1.card {
2 & > .title {
3 font-weight: bold;
4 }
5 & + .card {
6 margin-top: 20px;
7 }
8}
CSS yang Telah Disusun
1.card > .title {
2 font-weight: bold;
3}
4.card + .card {
5 margin-top: 20px;
6}
Tanda ringkas untuk &
Dalam SASS, apabila penggabung diletakkan di awal pemilih, pemilih induk akan dimasukkan secara implisit, jadi anda boleh mengabaikan &
.
Kes di mana pengguguran adalah mungkin
Sebagai contoh, apabila anda menulis + .item
, SASS secara dalaman mentafsirnya sebagai & + .item
dan secara automatik menjana gabungan dengan pemilih induk.
Contoh
1.item {
2 + .item {
3 margin-top: 10px;
4 }
5 &--hover {
6 background-color: red;
7 }
8}
CSS yang Telah Disusun
1.item + .item {
2 margin-top: 10px;
3}
4.item--hover {
5 background-color: red;
6}
Gambaran Keseluruhan Gabungan
Gabungan CSS mentakrifkan hubungan antara penentu. Berikut adalah jenis utama gabungan.
-
Penentu Turunan (ruang) Penentu turunan mensasarkan semua elemen turunan yang terkandung dalam elemen induk. Contoh:
.parent .child
-
Penentu Anak (
>
) Penentu anak hanya mensasarkan elemen anak secara langsung. Contoh:.parent > .child
-
Penentu Bersebelahan (
+
) Penentu bersebelahan mensasarkan elemen adik-beradik yang bersebelahan selepasnya. Contoh:.sibling1 + .sibling2
-
Penentu Adik-Beradik Umum (
~
) Penentu adik-beradik umum mensasarkan semua elemen adik-beradik selepasnya. Contoh:.sibling1 ~ .sibling2
Cara Menggunakan Gabungan dalam SASS
Penentu Turunan (ruang)
Dalam penempatan bersarang SASS, penentu turunan dengan ruang digunakan secara lalai.
Contoh
1.container {
2 .header {
3 .title {
4 font-size: 20px;
5 }
6 }
7}
CSS yang Telah Disusun
1.container .header .title {
2 font-size: 20px;
3}
Penentu Anak (>
)
Jika anda mahu menggunakan penentu anak, tuliskan >
secara jelas dalam kod SASS anda.
Contoh
1.container {
2 & > .header {
3 & > .title {
4 font-size: 20px;
5 }
6 }
7}
CSS yang Telah Disusun
1.container > .header > .title {
2 font-size: 20px;
3}
Penentu Bersebelahan (+
)
Untuk menetapkan gaya pada elemen adik-beradik selepasnya, gunakan +
.
Contoh
1.item {
2 & + .item {
3 margin-top: 10px;
4 }
5}
CSS yang Telah Disusun
1.item + .item {
2 margin-top: 10px;
3}
Penentu Adik-Beradik Umum (~
)
Untuk menetapkan gaya pada semua adik-beradik pada aras yang sama selepasnya, gunakan ~
.
Contoh
1.alert {
2 & ~ .alert {
3 border-top: 1px solid red;
4 }
5}
CSS yang Telah Disusun
1.alert ~ .alert {
2 border-top: 1px solid red;
3}
Pseudo-Kelas dan Pseudo-Elemen dalam Penempatan Bersarang
Pseudo-kelas dan pseudo-elemen juga boleh ditulis dengan mudah dalam SASS.
Contoh
1.button {
2 &:hover {
3 background-color: blue;
4 }
5 &::after {
6 content: '';
7 display: block;
8 }
9}
CSS yang Telah Disusun
1.button:hover {
2 background-color: blue;
3}
4.button::after {
5 content: '';
6 display: block;
7}
Contoh Praktikal
Di bawah ialah contoh gaya yang kompleks dengan gabungan beberapa gabungan.
Kod SASS
1.menu {
2 .menu-item {
3 & > .submenu {
4 display: none;
5
6 & > .submenu-item {
7 font-size: 14px;
8 }
9 }
10 & + .menu-item {
11 margin-left: 15px;
12 }
13 }
14}
CSS yang Telah Disusun
1.menu .menu-item > .submenu {
2 display: none;
3}
4.menu .menu-item > .submenu > .submenu-item {
5 font-size: 14px;
6}
7.menu .menu-item + .menu-item {
8 margin-left: 15px;
9}
Ringkasan
Jika anda memahami penempatan bersarang dan gabungan dalam SASS dengan betul, anda boleh menulis CSS yang lebih ringkas dan mudah dibaca.
Anda boleh mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Sila lihat juga saluran YouTube kami.