ტექსტის გასტილვა
რას გულისხმობს ტექსტის გასტილვა?
როცა ელემენტის შიგნით ტექსტს ვწერთ, ის განლაგდება ტექსტის კონტენტ ბოქსში. ჩვეულებრივ ტექსტი ისე განლაგდება, როგორც ნებისმიერი ინლაინ ელემენტი. ის იწყება მარჯვენა ზედა კუთხიდან და მიიწევს მარჯვნივ. თუ ჰორიზონტალურად საკმარისი სივრცე არ რჩება, ტექსტი ჩამოიშლება ახალ სტრიქონზე და ასე გაგრძელდება კონტენტის დასასრულამდე.
ტექსტის გასტილვისას ორ ძირითად კატეგორიას განვიხილავთ:
- ფონტის სტილები: თვისებები, რომლებიც განსაზღვრავს ფონტს, ანუ ფონტის სახეობა, ზომა, სიმუქე, დახრილობა და ა.შ.
- ტექსტის სტილები: თვისებები, რომლებიც განსაზღვრავს ტექსტის განლაგებას, დაშორებებს და ა.შ.
ფონტები
განვიხილოთ ფონტის სტილები.
ფერი
ფერის გასასტილად გამოიყენება color თვისება.
color-ის მნიშვნელობა შეიძლება იყოს:
- სახელით. (მაგ:
red,green,blue). - RGB და RGBA (მაგ:
rgb(255, 0, 0),rgb(0, 255, 0),rgb(0, 0, 255)). - HEX და HEXA (მაგ:
#ff0000,#00ff00,#0000ff). - HSL და HSLA (მაგ:
hsl(0, 100%, 50%),hsl(120, 100%, 50%),hsl(240,100%, 50%)).
ფონტის შეცვლა
ფონტის შესაცვლელად გამოიყენება font-family თვისება.
CSS-ში 5 ზოგადი ფონტი გვაქვს: serif, sans-serif, monospace, cursive და fantasy. ეს სახელები ძალიან ზოგადია,
სხვადასხვა ბრაუზერში და ოპერაციულ სისტემაში ისინი განსხვავებულად გამოჩნდებიან.
| Term | განმარტება | მაგალითი |
|---|---|---|
serif |
ფონტები, რომლებსაც აქვთ მცირე დეკორატიული ხაზები ან დეტალები სიმბოლოების ძირებში და დაბოლოებებში | In every obstacle lies an opportunity for innovation |
sans-serif |
ფონტები, რომლებსაც არ გააჩნიათ serif-ს მსგავსი დაბოლოებები |
If you focus on what you left behind, you will never be able to see what lies ahead |
monospace |
ფონტები, სადაც ყოველი სიმბოლო ერთნაირი სიგანისაა, ჩვეულებრივ გამოიყენება კოდის ჩამონათვალებში. | Art is the bridge between imagination and reality |
cursive |
ფონტები, რომლებიც განკუთვნილია ხელწერის იმიტაციისთვის. | Curiosity is the compass that leads us to new worlds |
fantacy |
ფონტები, რომლებიც განკუთვნილია დეკორატიული მიზნით. | Knowledge is the greatest treasure, and it belongs to those who seek it |
ფონტის სტეკი
შესაძლებელია ფონტის ჩატვირთვა ვერ მოხერხდეს სხვადასხვა მიზეზების გამო. ესეთ დროს შეიძლება განვსაზღვროთ სათადარიგო ფონტი, რომელიც მის ნაცვლად ჩაიტვირთება. მსგავს გადაცემას ეწოდება font stack, რაც გარანტიას მოგვცემს, რომ ძირითადი ფონტის ჩაუტვირთავობის შემთხვევაში სწორი ალტერნატივით ჩანაცვლდება.
p {
font-family: 'Trebuchet MS', Verdana, sans-serif;
}ზომა
ფონტის ზომის შესაცვლელად საჭიროა font-size თვისების გამოყენება. თვისებას შეიძლება მივანიჭოთ აბსოლიტური მნიშვნელობა ან დინამიური.
აბსოლიტური ერთეულებით განსაზღვრული ზომები არის ფიქსირებული და არ იცვლება, მაგალითად საიტის დაპატარავებისას.
აბსოლიტური მნიშვნელობებია:
| ერთეული | განმარტება | ექვივალენტურია |
|---|---|---|
px |
პიქსელი | 1px = 1/96 ინჩის |
cm |
სანტიმეტრი | 1cm = 37.8px = 25.2/64in |
mm |
მილიმეტრი | 1mm = 1/10 სანტიმეტრის |
in |
ინჩი | 1in = 2.54cm = 96px |
pt |
წერტილი | 1pt = 1/72 ინჩის |
აბსოლიტური სიტყვიერი მნიშვნელობებია:
| ერთეული | ექვივალენტური პიქსელები (px) |
|---|---|
xx-small |
9px |
x-small |
10px |
small |
13px |
medium |
16px (ნაგულისხმევი ზომა) |
large |
18px |
x-large |
24px |
xx-large |
32px |
xxx-large |
48px |
დინამიური მნიშვნელობებია:
| ერთეული | განმარტება | ფორმულა |
|---|---|---|
rem |
დამოკიდებულია root ელემენტის font-size თვისებაზე. თუ ზომა მითითებული არ არის მაშინ ნაგულისხმევად root-ის ზომა არის 16px. |
'ROOT_SIZE' * 'მნიშვნელობა' |
rem |
დამოკიდებულია მშობელი ელემენტის font-size თვისებაზე. თუ მითითებული არ არის ფონტის ზომა მშობელ ელემენტზე, მაშინ იმუშავებს, როგორც rem |
'SIZE' * 'მნიშვნელობა' |
vh |
დამოკიდებულია ხედვის ფანჯრის (viewport) სიმაღლის 1%-ზე | 'VIEWPORT_HEIGHT' * 0.01 * 'მნიშვნელობა' |
vw |
დამოკიდებულია ხედვის ფანჯრის (viewport) სიგანის 1%-ზე | 'VIEWPORT_WIDTH' * 0.01 * 'მნიშვნელობა' |
% |
დამოკიდებულია მშობელი ელემენტის შესაბამისი თვისების მნიშვნელობის პროცენტზე. | 'PARENT_VALUE' * ('მნიშვნელობა' / 100) |
px, rem, em, vw.ფონტის სტილი, ფონტის სიმუქე, ტექსტის ტრანსოფრმაცია და ტექსტის დეკორაცია
CSS-ში გვაქვს ოთხი ძირითადი თვისება, რომლებიც ტექსტის სტილს ცვლის.
font-style: გამოიყენება ტექსტის დახრილი (italic) სტილის ჩასართავად ან გამორთვისთვის
(ამ თვისებას ძალიან იშვიათად გამოიყენებ თუ სპეციფიკურად არ გსურს ტექსტის დახრა):
normal: ტექსტს აბრუნებს ნორმალურ ფორმაში (თიშავს italic-ს).italic: ტექსტს დახრის italic-ის სტილში.oblique: ტექსტს დახრის italic-ის მსგავსად ოღონდ მცირედი განსხვავებით.
font-weight: განსაზღვრავს, რამდენად მუქია ტექსტი.
მას აქვს მრავალი შესაძლო მნიშვნელობა, განსაკუთრებით მაშინ, თუ ფონტს აქვს სხვადასხვა ვარიაციები (მაგალითად, light, normal, bold, extrabold, black და სხვა).
თუმცა, პრაქტიკაში ყველაზე ხშირად გამოიყენება normal და bold.
normal,bold: ნორმალური და მუქი.lighter,bolder: აყენებს ელემენტის ტექსტის სიმუქეს ერთი დონით უფრო ღია (lighter) ან მუქ (bolder) ვარიანტში.100-900: რიცხობრივი მნიშვნელობა, რომელიც მნიშვნელობას მიანიჭებს.
text-transform საშუალებას გაძლევთ შეცვალოთ ტექსტის ფორმატი.
none: არ ხდება ტექსტის ტრანსფორმაცია.uppercase: ყველა სიმბოლო გადადის მაღალ რეგისტრში.lowercase: ყველა სიმბოლო გადადის დაბალ რეგისტრში.capitalise: ყველა სიტყვის პირველი სიმბოლო გადადის მაღალ რეგისტრში.full-width: ყველა სიმბოლოს ჩასმა ხდება ფიქსირებულ ზომაში, რაც ჰგაქვსmonospace-ის სტილს. მაგალითად: ლათინურ სიმბოლოებს ეძლევა შესაძლებლობა, სწორად მოთავსდნენ ჩინურ, იაპონურ, კორეულ და მსგავს ენებთან.math-auto: ტექსტი ავტომატურად იღებს მათემატიკური italic სტილს საჭირო ადგილებში.
full-width მუშაობს მხოლოდ შემდეგ ბრაუზერებში: firefix, safari და IOS WebView.
math-auto არ მუშაობს safari ბრაუზერში.text-decoration განსაზღვრავს ტექსტის დეკორაციას (მეტწილადად გამოიყენება ბმულის ელემენტთან).
none: აუქმებს არსებულ დეკორაციებს.underline: ტექსტის ხაზგასმა.overline: ხაზის დამატება ტექსტის ზედა მხარეს.line-through: ტექსტის გადახაზვა.
გაითვალისწინეთ, რომ text-decoration ერთდროულად რამოდენიმე მნიშვნელობასაც ღებულობს, მაგალითად:
a {
text-decoration: underline overline;
}ასევე text-decoration არის მოკლე თვისება, რომელიც მოიცავს text-decoration-line, text-decoration-style და text-decoration-color თვისებას.
ამ კომბინაციებით შეგიძლიათ შექმნათ საინტერესო ეფექტები, მაგალითად:
p {
text-decoration: line-through red wavy;
}ტექსტი
ძირითადი ფონტის თვისებების განხილვის შემდეგ, გადავიდეთ იმ თვისებებზე, რომლებიც გამოიყენება ტექსტების გასასტილად.
განლაგება
ტექსტის განლაგების შესაცვლელად გამოიყენება text-align თვისება.
ტექსტის გადაადგილება სრულდება მის არსებულ ყუთის მოდელში.
left: ყოველთვის მარცხენა მხარეს მოთავსება.start: მსგავსიაleftთუმცა თუdirection: rtlარის მითითებული მოთავსდება საპირისპიროდ.right: ყოველთვის მარჯვენა მხარეს მოთავსება.end: მსგავსიაrightთუმცა თუdirection: rtlარის მითითებული მოთავსდება საპირისპიროდ.center: ყოველთვის ცენტრში მოთავსდება.justify: ყოველთვის ტექსტს ისე ანაწილებს, რომ ყველა ხაზი ერთნაირი სიგანის იყოს.
ხაზის სიმაღლე
line-height თვისება გამოიყენება სიმაღლის დასაყენებლად ხაზებს შორის.
ამ თვისებას შეუძლია გამოიყენოს ზოგადი ზომის ერთეულები და დინამიური მნიშვნელობა.
p {
line-height: 1.6;
}თუ მხოლოდ რიცხვს გადავცემთ მაშინ თვისება მიიღებს მნიშვნელობას შემდეგი ფორმულით:
font-size * line-heightline-height თვისებაზე 1.5-2 მდე მნიშვნელობის გადაცემა.სიმბოლოსა და სიტყვის დაშორება
letter-spacing და word-spacing თვისებები
საშუალებას გაძლევთ განსაზღვროთ სიმბოლოსა და სიტყვებს შორის დაშორება ტექსტში. თვისებას შეიძლება მივანიჭოთ
ფონტის shorthand
ფონტის შემოკლებული (shorthand) თვისება, რომელიც ერთდროულად რამდენიმე ფონტის მახასიათებელს აერთიანებს.
p {
font: italic small-caps bold 16px/1.5 sans-serif;
}ეს კოდი აერთიანებს შემდეგ თვისებებს: font-style,
font-variant,
font-weight,
font-stretch,
font-size,
line-height და font-family.
აუცილებელია font-size და font-family-ის თვისების დაწერა, როცა ვიყენებთ font-ის თვისებას დანარჩენი სურვილისამებრ.
დახრილი ხაზით / უდნა იყოს ჩასმული font-size და line-height თვისებას შორის.
font თვისების ჩაწერის თანმიმდევრობა:
font: [style] [variant] [weight] [size]/[line-height] [family];გამოცადე პრაქტიკაში
შეგიძლია შესწავლილი მასალა პრაქტიკაში გამოსცადო!
ისარგებლე სტატიაში ჩაშენებული მარტივი ედიტორით ან ცალკე მზა ედიტორით, რომელსაც უფრო ბევრი ფუნქციონალური ნაწილი გააჩნია.
შეჯამება
ამ სტატიაში განვიხილეთ CSS-ის ტექსტისა და ფონტის დასტილვის თვისებები.