Sobes.tech
Middle

Ինչու՞ CSS-ի սելեկտորները շատ են ժառանգվում:

sobes.tech AI

Պատասխան AI-ից

CSS-դ ընտրիչները ժառանգական չեն: Ժառանգականությունը CSS-ում վերաբերում է որոշ հատկությունների փոխանցմանը տարրից դեպի նրա ժառանգներ: Ընտրիչները ձևանմուշներ են, որոնք ընտրում են տարրերը՝ կիրառելու համար ոճեր:

Ժառանգականությունը կարող է նշանակում, որ մի ընտրիչով կիրառված ոճերը կարող են վերագրանցվել (ժառանգվել) այլ ընտրիչներով կիրառված ոճերից: Սա կապված չէ ժառանգականության հետ, այլ CSS-ի կասկադային մեխանիզմի հետ, որը որոշում է, թե որ ոճերը կիրառվում են տարրին, երբ մի քանի CSS կանոններ սահմանում են նույն հատկության արժեքը:

Ոճերի կասկադային և "վերագրանցման" գործոնները:

  1. Հատուկություն (Specificity): Բարձր հատուկությամբ ընտրիչները ավելի մեծ քաշ ունեն:
  2. Տեսականություն (Order): Երբ հատուկությունը նույնն է, կիրառվում է վերջին սահմանված կանոնը:
  3. Маշһурություն (!important): !important նշած հայտարարությունները ունեն ամենաբարձր առաջնահերթությունը (բացառությամբ User Agent-ի ներքին ոճերի, որոնք !important չեն):
  4. Ոճերի աղբյուրներ (Origin): Ոճերը գալիս են տարբեր աղբյուրներից՝ բրաուզեր, օգտվող, հեղինակ:

Օրինակ հատուկություն:

/* Տարածականություն ցածր */
p {
  color: blue;
}

/* Տարածականություն բարձր - կփոխարինի գույնը */
.text-section p {
  color: red;
}