Junior
CSS-ში display თვისების ძირითადი მნიშვნელობა რა არის და როგორ მუშაობს?
sobes.tech AI
პასუხი AI-სგან
display თვისება განსაზღვრავს, როგორ გამოჩნდება ელემენტი დოკუმენტში და როგორ ურთიერთქმედებს სხვა ელემენტებთან, მონაწილეობს განლაგების (layout flow)-ში. იგი განსაზღვრავს ელემენტის ფორმატირების ტიპს:
ძირითადი მნიშვნელობები:
block: ელემენტი ფორმატდება ბლოკად. იკავებს მთელ ხელმისაწვდომ სიგანეს, იწყება ახალი ხაზიდან, შეიძლება ჰქონდეს მითითებული ზომები (width,height).inline: ელემენტი ფორმატდება ხაზის სახით. არ იწყებს ახალ ხაზს, იკავებს მხოლოდ საჭირო სიგანეს, არ შეიძლება ჰქონდეს მითითებული ზომები (width,height), ვერტიკალური მარკერები (margin-top,margin-bottom) და შიდა მარკერები (padding-top,padding-bottom) არ ზემოქმედებს მიმდებარე ელემენტებზე.inline-block: ელემენტი ფორმატდება ხაზის სახით, მაგრამ როგორც ბლოკი within a line. არ იწყებს ახალ ხაზს, შეიძლება ჰქონდეს მითითებული ზომები (width,height), ასევე ვერტიკალური მარკერები და შიდა მარკერები, რომლებიც ზემოქმედებს მიმდებარე ელემენტებზე.none: ელემენტი და მისი შინაარსი არ ჩანს. ელემენტი სრულად ამოღებულია დოკუმენტის ნაკადიდან, არ იკავებს ადგილს.flex: ელემენტი ხდება Flex კონტეინერი, ხოლო მისი პირდაპირი შთამომავლები — Flex ელემენტები. გამოიყენება მოქნილი განლაგებების შესაქმნელად.grid: ელემენტი ხდება Grid კონტეინერი. გამოიყენება ქსელზე დაფუძნებული განლაგებების შესაქმნელად.
როგორ მუშაობს:
ბრაუზერი იყენებს display მნიშვნელობას იმის განსაზღვრად, თუ რა ტიპის ფორმატირების კონტექსტშია ელემენტი. ეს გავლენას ახდენს:
- დოკუმენტის ნაკადი: როგორ განლაგდება ელემენტი თავის მეზობლებთან მიმართებაში.
- ელემენტის ზომები: შესაძლებლობა განსაზღვროს სიგანე და სიმაღლე, შინაარსის გავლენა ზომებზე.
- მეზობელი ელემენტებზე გავლენა: როგორ ზეგავლენენ მარკერები და ზომები სხვა ელემენტების განლაგებაზე.
მაგალითი:
/* `display: block` ელემენტი */
div {
display: block;
width: 100%; /* იკავებს მთელ სიგანეს */
margin-bottom: 10px; /* ქმნის ვერტიკალურ დაშორებას */
}
/* `display: inline` ელემენტი */
span {
display: inline;
/* width და height იგნორირებულია */
/* margin-top და margin-bottom იგნორირებულია */
}
/* `display: inline-block` ელემენტი */
img {
display: inline-block;
width: 100px; /* სიგანე შეიძლება განსაზღვროს */
height: 100px; /* სიმაღლე შეიძლება განსაზღვროს */
margin: 5px; /* ქმნის დაშორებებს ყველა მხრიდან */
}
/* დამალული ელემენტი */
.hidden {
display: none;
}