@scope


Misol

Bu yerda .ex1 va .ex2 klasslari ichidagi <a> elementlarini tanlash uchun ikkita alohida @scope blokidan foydalanamiz. :scope scope ildizlarining o‘zini tanlash va ularga uslub berish uchun ishlatiladi. Ushbu misolda scope ildizlari — shu klasslar qo‘llanilgan <div> elementlari:

@scope (.ex1) {   :scope {     background-color: salmon;     padding: 10px;   }   a {     color: maroon;   }   a:hover {     color: blue;   } } @scope (.ex2) {   :scope {     background-color: beige;     padding: 10px;   }   a {     color: green;   } }
O‘zingiz sinab ko‘ring »

Quyida ko‘proq "O‘zingiz sinab ko‘ring" misollari keltirilgan.


ULASHISH

Ta’rif va qo‘llanilishi

CSS @scope qoidasi muayyan DOM quyi daraxtlaridagi elementlarni tanlash imkonini beradi.

Bu at-qoida yordamida haddan tashqari aniq selektorlar yozmasdan elementlarni aniq nishonga olishingiz mumkin.

Bu at-qoida, shuningdek, selektorlaringiz va DOM tuzilmasi orasidagi bog‘liqlikni kamaytiradi.

Quyidagi HTML’ga qarang:

<div class="container">   <div class="news">     <h2>Some header</h2>     <img src="example.jpg" alt="Some image">   </div> </div>

Bu yerda bir nechta ichma-ich joylashgan <div> elementlari bor va agar yuqoridagi container/news bo‘limi ichidagi <h2> va <img> elementlariga uslub bermoqchi bo‘lsak, (@scope’dan foydalanmasdan) quyidagicha yozishingiz kerak:

Misol

.container .news h2 {   color: green; } .container .news img {   border: 2px solid maroon; }
O‘zingiz sinab ko‘ring »

@scope qoidasi yordamida haddan tashqari aniq selektorlar yozmasdan elementlarni aniq nishonga olishingiz mumkin, masalan:

Misol

Bu yerda faqat .container komponentidagi <h2> va <img> elementlarini nishonga olamiz — .container’ni @scope at-qoidasining scope ildizi sifatida belgilaysiz:

@scope (.container) {   h2 {     font-size: 30px;     color: green;   }   img {     border: 5px solid maroon;   } }
O‘zingiz sinab ko‘ring »

@scope qoidasi bir yoki bir nechta qoidalar to‘plamini (ruleset) o‘z ichiga oladi va ikki usulda ishlatilishi mumkin:

  • CSS ichida mustaqil blok sifatida — bu holda u scope ildizi va ixtiyoriy scope chegarasi selektorlarini o‘z ichiga olgan kirish (prelude) qismiga ega bo‘ladi; ular scope’ning yuqori va quyi chegaralarini belgilaydi.
  • HTML’dagi <style> elementi ichiga kiritilgan ichki uslublar sifatida — bu holda kirish (prelude) qismi tushirib qoldiriladi va ichidagi qoidalar to‘plami avtomatik ravishda <style> elementini o‘rab turgan ota elementga nisbatan scope qilinadi.

Brauzerlarda qo‘llab-quvvatlash

Jadvaldagi sonlar at-qoidani to‘liq qo‘llab-quvvatlaydigan birinchi brauzer versiyasini ko‘rsatadi.

At-qoida
@scope 118 118 Yo‘q 17.4 104


CSS sintaksisi

@scope (scope root) {   rulesets } or /* donut scope */ @scope (scope root) to (scope limit) {   rulesets }

Ko‘proq misollar

Misol

Donut scope faqat ajdodlar daraxtidagi ikki element orasida joylashgan elementlarni nishonga oladi. Mana misol:

@scope (.container) to (.news) {   h2 {     font-size: 30px;     color: green;   }   img {     border: 5px solid maroon;   } }
O‘zingiz sinab ko‘ring »

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!