-
ახლა ჩვენ ვილაპარაკებთ სპეციფიკურობაზე
-
ანუ იმაზე, რამდენად სპეციფიკურია
ჩვენი CSS წესები
-
მრავალ მიზეზთა გამო, რომელთაც ვერ გაიგებთ,
თუ ინგლისური არ იცით,
-
მე გადავწყვიტე შევქმნა ვებ–გვერდი
წყნარი ოკეანის შესახებ.
-
თანაც, ძალიან მიყვარს ეს ოკეანე.
-
ამ ვებ–გვერდზე არის სათაური (ჰედერი)
და რამდენიმე პარაგრაფი
-
პლუს ეს პატარა პარაგრაფი სულ ზემოთ.
-
ამ პარაგრაფების სტილის შესაქმნელად
გამოყენებულია
-
CSS სელექტორების სამი ტიპი
-
პირველი წესი ირჩევს ყველა პარაგრაფს
-
და ცვლის მათ ფონტს sans-serif–ზე
-
მეორე წესი ირჩევს ყველა პარაგრაფს კლასის
სახელით "info-paragraph"
-
და ცვლის მათ ფერს ცისფერზე.
-
ეს წესი ვრცელდება ყველა პარაგრაფზე,
პირველის გარდა.
-
მესამე წესი ირჩევს მხოლოდ ერთ პარაგრაფს,
რომლის ID არის main-paragraph
-
და ცვლის ფონტს მსხვილზე.
-
ახლა თუ შევხედავთ მთავარ ინფორმაციულ
პარაგრაფს
-
ვნახავთ, რომ მასზე სამივე წესი მოქმედებს.
-
ფონტიც, ფონტის სისქეც და ფერიც.
-
ბრაუზერმა სამივე წესი მიუსადაგა,
-
იმიტომ რომ სამივე სელექტორმა აირჩია ეს
პარაგრაფი.
-
და რა მოხდებოდა, თუ სამივე წესი
პარაგრაფის ფერს განსაზღვრავდა?
-
მაშინ როგორ გადაწყვეტდა ბრაუზერი, რომელი
ფერის უნდა ყოფილიყო ტექსტი?
-
ვცადოთ და ვნახოთ.
-
დავუმატოთ p წესს color: orange
-
main-paragraph–ს კი color: green
-
პარაგრაფი მწვანე გახდა.
-
რატომ მოხდა ასე?
-
რატომ გადაწყვიტა ბრაუზერმა, რომ მწვანე
უნდა იყოს?
-
მას მიცემული ჰქონდა სამი წესი,
სამივე ეხებოდა ამ პარაგრაფს
-
სამივე განსაზღვრავდა ფერს
-
მაგრამ ტექსტი, ცხადია, მხოლოდ ერთი ფერის
გახდა – კერძოდ, მწვანე.
-
აი, ახლა ხდება მნიშვნელოვანი წესების
სპეციფიკურობა.
-
CSS–ში ზოგი წესი უფრო სპეციფიკურად
მიიჩნევა, ვიდრე სხვა.
-
მაგალითად, ID უფრო სპეციფიკურია, ვიდრე
კლასი
-
კლასი კი უფრო სპეციფიკური, ვიდრე
ელემენტი.
-
ამიტომაც "მოიგო" main-paragraph
წესმა.
-
ეს მარტივი წესია, რომელიც უნდა დაიმახსოვრო
სელექტორების შედარებისას.
-
თუმცა ბრაუზერის ლოგიკა უფრო რთულია
-
ბრაუზერი ითვლის ე.წ. "სპეციფიკურობის
მნიშნველობას" ყოველი წესისთვის და ისე
-
წყვეტს, რომელი წესი უნდა გამოიყენოს.
-
ხანდახან ორივე წესი შეიძლება თანაბრად
სპეციფიკური იყოს.
-
მაგალითად, თუ ორივე წესში კლასის სახელებია
-
ვნახოთ, რა მოხდება
-
დავამატებ ახალ წესს, რომელიც
important კლასით აირჩევს
-
ეს კლასი უკავშირდება მთავარ პარაგრაფსა და
თეგს
-
დავიწყოთ იმით, რომ განცსაზღვროთ
ამ წესით ფონი
-
იყოს ყვითელი
-
როგორც ხედავთ, ფონი ყვითელი გახდა
-
იმიტომ რომ სხვა თანაბრად სპეციფიკური წესი
ფონის ასარჩევად არ არსებობს
-
ამიტომ, ამან მოიგო.
-
მაგრამ რა მოხდება, თუ ფონის თვისებას
-
ასევე ჩავურთავ info-paragraph წესში
და დავუშვათ, ნარინჯისფერს ჩავწერ?
-
ვნახოთ
-
აი! თეგი ისევ ყვითელია
-
მაგრამ მთავარ პარაგრაფს ნარინჯისფერი
ფონი აქვს
-
როგორ გადაწყვიტა ბრაუზერმა, ორი თანაბრად
სპეციფიკური წესიდან რომელი აერჩია?
-
აი, როგორ:
-
თუ ორივე სელექტორი თანაბრად სპეციფიკურია,
იგებს ბოლო
-
ამიტომ, თუ მინდა რომ მოიგოს სელექტორმა
important, იგი ქვემოთ უნდა ჩავსვა
-
აი, ახლა ყვითელია.
-
შეიძლება ცოტა მოუხერხებელი ჩანდეს.
-
თუ სტილი ამის გამო არ მოქმედებს ისე,
როგორც გინდათ
-
გადაჯგუფების მაგივრად შეგიძლიათ
გახადოთ წესი უფრო სპეციფიკური
-
უფრო ზუსტი განსაზღვრება დაუმატოთ.
-
თუ მინდა ზუსტად ვიცოდე, რომ
info-paragraph ყოველთვის მოიგებს
-
შემიძლია დავამატო ამ წესის წინ p
და ასე იგი უფრო ზუსტი გავხადო
-
სულ ოდნავ, მაგრამ ეს ოდნავ საკმარისია
სპეციფიკაციის თამაშის მოსაგებად
-
და important სელექტორის უგულებელსაყოფად
-
რაც უფრო რთულ CSS-ს დაწერ, მით უფრო
-
მნიშვნელოვანი იქნება სპეციფიკურობა.
-
ამიტომ, ყოველთვის მიაქციე მას ყურადღება
-
ცოტა რთულია, მაგრამ აუცილებელია.
-
ყოველთვის იფიქრეთ მასზე, თუ ბრაუზერი
არ მოქმედებს ისე, როგორც თქვენ გინდათ
-
გაანალიზეთ წესების სპეციფიკაცია და
განლაგება
-
და დიდი ალბათობით იპოვით გადაწყვეტას.