Sobes.tech
Junior

რატომ ხდება CSS-ში სელექტორების მემკვიდრეობა?

sobes.tech AI

პასუხი AI-სგან

CSS-ში მემკვიდრეობა ხდება იმიტომ, რომ სტილის თვისებები შეიძლება გადაეცეს მშობელ ელემენტებიდან მათ შვილეულ ელემენტებს. ეს განსაზღვრულია CSS-ის სპეციფიკაციით, რათა გამარტივდეს სტილიზაცია და თავიდან აიცილოს კოდის გამეორება.

ყველა CSS თვისება არ არის მემკვიდრეობითი. აქ არის რამდენიმე მაგალითი მემკვიდრეობით და არ მემკვიდრეობით თვისებების:

მემკვიდრეობითი თვისებები არ მემკვიდრეობითი თვისებები
text-align border
color margin
font-family padding
font-size background
line-height width
list-style-type height

მემკვიდრეობის მექანიზმი განსაზღვრულია ბრაუზერის მიერ HTML დოკუმენტში (DOM ხე) ელემენტების ჰიერქიაზე დაყრდნობით. თუ შვილეულ ელემენტს არ აქვს პირდაპირი მნიშვნელობა მემკვიდრეობით თვისებისთვის, ის იღებს მნიშვნელობას მისი ყველაზე ახლო წინაპრიდან, რომელსაც ეს თვისება აქვს განსაზღვრული.

/* მნიშვნელობა წითლად დაყენება */
body {
  color: red;
}

/* ყველა შვილეული ელემენტი, რომელსაც არ აქვს განსაზღვრული მნიშვნელობა color-ისთვის, იქნება წითელი */
p {
  /* ეს პარაგრაფი იქნება წითელი */
}

/* კონკრეტული ელემენტისთვის მნიშვნელობის გადაფარვა */
div {
  color: blue;
}

/* ამ div-ის შიგნით პარაგრაფი იქნება ლურჯი */
div p {
  /* ეს პარაგრაფი იქნება ლურჯი */
}

მემკვიდრეობის გამოყენებით, შესაძლებელია საერთო სტილების განსაზღვრა დიდი მასალის ბლოკებისთვის, რომლებიც ავტომატურად გადაეცემა შვილეულ ელემენტებს, თუ სხვა მითითება არ არის. ეს აუმჯობესებს კოდის შენარჩუნებას და წაკითხვადობას.