CSS — სრული ქართულენოვანი გზამკვლევი
ეს არის ერთიანი სისტემა: სახელმძღვანელო (0-დან სწავლა),
ცნობარი (Reference ყველა property-სა და selector-ზე) და
Playground (ცოცხალი კოდის რედაქტორი). თითოეული მაგალითი
შეგიძლია ადგილზევე შეცვალო და დაინახო შედეგი.
23 თავი
93 თემა
∞ ცოცხალი მაგალითი
CSS (Cascading Style Sheets) არის ენა, რომლითაც HTML დოკუმენტს ვაძლევთ გარეგნობას — ფერებს, განლაგებას, შრიფტებს, ანიმაციებს. HTML არის სტრუქტურა (ჩონჩხი), CSS კი დიზაინი (გარეგნობა).
სელექტორი განსაზღვრავს, რომელ HTML ელემენტებზე გავრცელდეს სტილი. ეს არის CSS-ის გული — სანამ ვერ შეარჩევ ელემენტს, ვერ მისცემ მას სტილს.
CSS წესი (rule) შედგება სელექტორისა და დეკლარაციების ბლოკისგან. თითოეული დეკლარაცია არის property: value; წყვილი.
CSS-ში ფერის მითითება შესაძლებელია სახელით, HEX, RGB(A) ან HSL(A) ფორმატით. გამჭვირვალობას (alpha) RGBA და HSLA უმატებენ.
ფონის თვისებები აკონტროლებენ ელემენტის უკანა პლანს — ფერს, სურათს, მის ზომას, პოზიციასა და გამეორებას.
ტექსტური თვისებები აკონტროლებენ შრიფტს, ზომას, წონას, სტრიქონებს შორის მანძილს და ტექსტის გასწორებას. კარგი ტიპოგრაფია = წაკითხვადი გვერდი.
ყველა HTML ელემენტი არის ოთხკუთხედი (box). Box Model აღწერს ამ ყუთის ფენებს: content (შინაარსი) → padding (შიდა შუალედი) → border (ჩარჩო) → margin (გარე შუალედი). ეს ერთ-ერთი ყველაზე მნიშვნელოვანი კონცეფციაა CSS-ში.
ზომის თვისებები განსაზღვრავენ ელემენტის სიგანესა და სიმაღლეს, აგრეთვე მათ მინიმალურ/მაქსიმალურ ზღვრებს — რაც responsive დიზაინისთვის გადამწყვეტია.
display განსაზღვრავს, როგორ იქცევა ელემენტი განლაგებაში — იკავებს თუ არა მთელ ხაზს, თანაარსებობს თუ არა გვერდიგვერდ, ან საერთოდ ჩანს თუ არა.
position განსაზღვრავს, როგორ თავსდება ელემენტი გვერდზე და როგორ რეაგირებს top/right/bottom/left თვისებებზე. ქვემოთ ცოცხალი ვიზუალით ნახავ სხვაობას.
Flexbox არის ერთგანზომილებიანი განლაგების სისტემა (ხაზის ან სვეტის გასწვრივ). იდეალურია ელემენტების გასწორების, განაწილებისა და ცენტრირებისთვის. ქვემოთ ცოცხალი დიაგრამით ექსპერიმენტი ჩაატარე.
Grid არის ორგანზომილებიანი განლაგების სისტემა (სტრიქონები და სვეტები ერთდროულად). იდეალურია მთლიანი გვერდის სტრუქტურისა და რთული ბადეებისთვის. ცოცხალი დიაგრამით ააწყვე ბადე.
სიის თვისებები აკონტროლებენ მარკერებს (წერტილი, ნომერი) და მათ სტილს. ხშირად ნავიგაციის მენიუები <ul>-ით კეთდება და მარკერები იშლება.
ცხრილის თვისებები აკონტროლებენ ჩარჩოების გაერთიანებას და სვეტების სიგანის ალგორითმს, რაც წაკითხვად, ლამაზ ცხრილს ქმნის.
Responsive დიზაინი ნიშნავს, რომ გვერდი ლამაზად გამოიყურება ნებისმიერ ეკრანზე — მობილურზე, ტაბლეტზე, კომპიუტერზე. ამის გული არის Media Queries.
CSS-ით ელემენტებს ვამოძრავებთ სამი ძირითადი ხელსაწყოთი: transition (გლუვი გადასვლა), transform (ფორმის ცვლა) და @keyframes + animation (რთული ანიმაცია).
CSS Custom Properties (ცვლადები) საშუალებას იძლევა მნიშვნელობა ერთხელ განსაზღვრო და მრავალგან გამოიყენო. თემების მართვისა და კოდის თანმიმდევრულობისთვის შეუცვლელია.
თანამედროვე CSS ფუნქციები, რომლებიც კოდს ამარტივებენ და responsive დიზაინს ბუნებრივს ხდიან — clamp(), min(), max(), aspect-ratio, object-fit, container queries და logical properties.
როცა პროექტი იზრდება, CSS-ის ორგანიზება კრიტიკული ხდება. აქ შევეხებით საწყის წარმოდგენას BEM-ზე, utility კლასებსა და მრავალჯერ გამოყენებად კომპონენტებზე.
წვდომადობა (a11y) ნიშნავს, რომ საიტი ყველასთვის გამოსადეგია — მათ შორის კლავიატურით მომუშავე და მხედველობადაქვეითებული მომხმარებლებისთვის. CSS აქ დიდ როლს თამაშობს.
სხვადასხვა ბრაუზერი CSS-ს ოდნავ განსხვავებულად უჭერს მხარს. აქ შევეხებით vendor prefix-ებსა და თანამედროვე მხარდაჭერის სტრატეგიას.