CSS-ში ყუთის მოდელი რა არის?
sobes.tech AI
პასუხი AI-სგან
CSS ბლოკური მოდელი აღწერს, როგორ გამოჩნდებიან ელემენტები გვერდზე მართკუთხა ბლოკებად. იგი შედგება ოთხ ზონად ან ფენად, რომლებიც ერთმანეთს გადაჯაჭვულია, დაწყებული შიგთავსიდან:
-
Content (შიგთავსი): ზონა, სადაც მდებარეობს რეალური შიგთავსი ელემენტის (ტექსტი, სურათები და ა.შ.). მისი ზომა განისაზღვრება თვისებებით
widthდაheight. -
Padding (შიგთავსის შიდა სავალი): გამჭვირვალე ზონა შიგთავსსა და ელემენტის საზღვარს შორის. განისაზღვრება თვისებებით
padding-top,padding-right,padding-bottom,padding-leftან მოკლედpadding. -
Border (საზღვარი): ხაზი, რომელიც გარს ეხვევა Padding-სა და Content-ს. მისი სტილი, სისქე და ფერი განისაზღვრება თვისებებით
border-width,border-style,border-colorან მოკლედ, მაგალითადborder. -
Margin (გარე სავალი): გამჭვირვალე ზონა ელემენტის საზღვრის გარშემო, რომელიც გამოყოფს მას სხვა ელემენტებისგან. განისაზღვრება თვისებებით
margin-top,margin-right,margin-bottom,margin-leftან მოკლედmargin. მეზობელი ბლოკების მარკები შეიძლება შეჯახოს.
სტანდარტული ქცევა, რომელიც აღწერილია box-sizing: content-box (ნაგულისხმევი), განსაზღვრავს, რომ width და height ეხება მხოლოდ შიგთავსს (Content). Padding და Border ემატება ამ ზომას, ზრდის საერთო ზომას.
box-sizing: border-box გამოყენებისას, width და height შეიცავს Content-ს, Padding-ს და Border-ს. Margin ყოველთვის ემატება საერთო ზომას, независимо box-sizing-დან.
მაგალითი:
div {
width: 100px; /* Content-ის სიგანე (content-box-ისთვის) ან მთელი ელემტის ზომა (border-box-ისთვის) */
height: 50px; /* Content-ის სიმაღლე (content-box-ისთვის) ან მთელი ელემტის ზომა (border-box-ისთვის) */
padding: 10px; /* შიგთავსის სავალი */
border: 2px solid black; /* საზღვარი */
margin: 15px; /* გარე სავალი */
}
box-sizing-ის მნიშვნელობაზე დამოკიდებული, რეალური ზომები განსხვავებული იქნება:
box-sizing: content-box: რეალური სიგანე = 100px (Content) + 10px (Padding-შე) + 10px (Padding-მდე) + 2px (საზღვარი-შე) + 2px (საზღვარი-მდე) = 124px. რეალური სიმაღლე = 50px (Content) + 10px (Padding-ზევით) + 10px (Padding-ქვემოთ) + 2px (საზღვარი-ზევით) + 2px (საზღვარი-ქვემოთ) = 74px.box-sizing: border-box: რეალური სიგანე = 100px (Content + Padding + Border). რეალური სიმაღლე = 50px (Content + Padding + Border).
გარე სავალი margin: 15px ემატება ამ საერთო ზომას.