Junior
რა თვისებები გაქვთ იცით position: sticky-ის შესახებ?
sobes.tech AI
პასუხი AI-სგან
position: sticky — ეს არის position: relative და position: fixed ჰიბრიდი.
- ჩვეულებრივი ქცევა: ელემენტი როგორც
position: relative, ისე რჩება დოკუმენტის ჩვეულებრივ ნაკადში. - გადატვირთვისას: როდესაც ელემენტი აღწევს მითითებულ გადატვირთვის მანძილს (მაგალითად,
top: 0) თავისი გადატვირთვის კონტეინერის ან ხედვის არეალის (სკროლპორტის) მიმართ, იგი "ჩაბეჭდება" და მუშაობს როგორცposition: fixed, რჩება ამ პოზიციაზე შემდგომი გადატვირთვის დროს. - გადატვირთვის მანძილი: განისაზღვრება
top,right,bottom,leftთვისებებით. აუცილებელია გამოიყენოს მინიმუმ ერთი ამ თვისებიდან, რათაstickyფუნქციონიროს სწორად. - გადატვირთვის კონტეინერი (
scroll container/containing block): ელემენტი "ჩაბეჭდება" თავის მშობელ ფորմატირების ბლოკის ფარგლებში (containing block), რომელიც ჩვეულებრივ ემთხვევა ყველაზე ახლო წინამორბედს, რომელსაც აქვს სკროლინგის შესაძლებლობა ან განსაზღვრული ფորմატირების კონტექსტი. თუ სკროლდება მხოლოდbody/html, მაშინ ჩაბეჭდვა იქნება ხედვის არეალის მიმართ. - ჩაკეტვა: ჩაბეჭდილი ელემენტი შეიძლება გადაფაროს ქვემოთ მდებარე შინაარსი, მსგავსად
position: fixedელემენტის. - Z-ინდექსი: ზემოთჩამოთვლილი ქცევაზე გავლენას ახდენს
z-indexთვისება. - შეზღუდვები:
- არ მუშაობს, თუ მშობელი ელემენტი აქვს
overflow: hidden,overflow: autoანoverflow: scroll, რომლებიც კეტავენ შინაარსს. - ელემენტი შეიძლება "ჩაბეჭდოს" თუ მიაღწევს თავის გადატვირთვის კონტეინერის კიდეს.
- არ მუშაობს, თუ მშობელი ელემენტი აქვს
- გამოყენება: ხშირად გამოიყენება "ჩაბეჭდილი" სათაურების, ნავიგაციის პანელების ან გვერდის მარცხენა ელემენტების შესაქმნელად, რომლებიც რჩება ხილვად გადატვირთვის დროს.
/* გამოყენების მაგალითი */
.sticky-header {
position: sticky;
top: 0; /* ჩაბეჭდება სკროლპორტის ან კონტეინერის ზედა ნაწილზე */
background-color: white;
padding: 10px;
z-index: 10; /* გარანტიას იძლევა, რომ სათაური სხვა შინაარსის ზევით იქნება */
}