ფსევდო ელემენტები
ფსევდო ელემენტების საშუალებით შეგვიძლია დავამატოთ ახალი კონტენტი HTML-ში ან დავსტილოთ კონკრეტული ელემენტის ნაწილი.
სინტაქსი
selector::pseudo-element {
property: value;
}მაგალითისთვის, ::first-line შეიძლება გამოვიყენოთ ტექსტური ელემენტის
პირველი ხაზის შესაცვლელად.
<p>ანგულარი არის პოპულარული ჯავასკრიპტის ფრეიმვორქი, რომლითაც მარტივად, სტრუქტურირებულად და მოქნილად შეგვიძლია ერთგვერდიანი ვებ აპლიკაციების (SPA - Single Page Application) შექმნა.</p>p::first-line {
color: blue;
}ფსევდო კლასებისგან განსხვავებით, ფსევდო ელემენტებს
ორმაგი ორწერტილით აღვნიშნავთ, თუმცა ზოგიერთ ფსევდო ელემენტზე შესაძლებელია, ერთი ორწერტილის გამოყენება:
::before, ::after, ::first-line და ::first-letter.
::).სტრუქტურული ფსევდო ელემენტები
სტრუქტურული ფსევდო ელემენტები ჰგავს ჩვეულებრივ HTML ელემენტების, ისინიც ანალოგიური პრინციპით მოთავსდებიან ყუთის მოდელში. მათი გასტილვა ისე შეიძლება, როგორც ჩვეულებრივი ელემენტების.
before
::before შექმნის ფსევდო ელეემნტს, რომელიც იქნება
პირველი შვილობილი ელემენტი მითითებულ თეგზე (ელემენტზე).
<p>
API-ის შესასწავლად შეგიძლიათ გამოიყენოთ
<a href="https://everrest.educata.dev">EverREST-ის </a> ან <a href="https://dummyjson.com/">dummyjson-ის</a>სერვერი
</p>a::before {
content: '🔗';
color: #1890ff;
}ამ შემთხვევაში <a> ელემენტში მოთავსდა ფსევდო ელემენტი before, რომლის კონტენტიც არის 🔗.
<a> ელემენტის კონტენტი.after
::after ფსევდო ელემენტი ჰგავს ::before-ს, თუმცა, ამ შემთხვევაში,
დამატებული ელემენტი იქნება ბოლო.
<p>TODO სია:</p>
<ul>
<li class="done">ვისწავლო HTML</li>
<li class="done">ვისწავლო CSS</li>
<li>ვისწავლო Git</li>
<li>ვისწავლო JS</li>
<li>ვისწავლო TS</li>
<li>ვისწავლო Angular</li>
</ul>ul li.done::after {
content: '✔';
color: green;
}marker
::marker ფსევდო ელემენტი გამოიყენება სიის ელემენტებთან და
განსაზღვრავს <li> ელემენტის სიმბოლოს.
მოდით გავაუმჯობესოთ წინა მაგალითის ვიზუალი:
<p>TODO სია:</p>
<ul>
<li class="done">ვისწავლო HTML</li>
<li class="done">ვისწავლო CSS</li>
<li>ვისწავლო Git</li>
<li>ვისწავლო JS</li>
<li>ვისწავლო TS</li>
<li>ვისწავლო Angular</li>
</ul>ul li {
padding-left: 5px;
}
ul li::marker {
content: '⬜️';
}
ul li.done::marker {
content: '✅';
}checkbox ელემენტის გამოყენება უმჯობესია, თუმცა
ამ მაგალითში განვიხილავთ მხოლოდ ვიზუალურ მხარეს.ზოგადი ფსევდო ელემენტები
first-letter
::first-letter პირველი სიმბოლოს დასტილვაში გვეხამრება.
<p>პარაგრაფის ელემენტი</p>p::first-letter {
color: blue;
font-size: 1.5rem;
}placeholder
::placeholder ფსევდო ელემენტი გამოიყენება ფორმის
placeholder-ის დასტილვისთვის.
<input placeholder="თქვენი სახელი" id="name" />input::placeholder {
color: red;
}selection
::selection ფსევდო ელემენტი გამოიყენება მონიშნული ("დაჰაილაითებული")
ტექსტის დასასტილად.
<p>მონიშნეთ ტექსტში ნებისმიერი ადგილი.</p>p::selection {
color: red;
background-color: yellow;
}შეჯამება
CSS-ში გვაქვს ბევრი ფსევდო ელემენტი, რომლის გამოყენებითაც შეგვიძლია დავამატოთ ვიზუალური ელემენტი, ან დავსტილოთ ელემენტის გარკვეული თვისებები. სრული ფსევდო ელემენტების სანახავად ეწვიეთ MDN-ის სტატიას.