Material Design არის დიზაინის ენა დანერგილი გუგლის წელიადრე, წარმოადგენდა კომპანიის გაბედულ მცდელობას შექმნას ერთიანი მომხმარებლის გამოცდილება ყველა მოწყობილობასა და პლატფორმაზე. ეს გამოირჩევა თამამი ფერებით, ჩრდილების ლიბერალური, მაგრამ პრინციპული გამოყენებით ინტერფეისის ფენების მითითებით და გლუვი ანიმაციებით, რომლებიც საკმაოდ უზრუნველყოფენ. კარგი გამოცდილებაინტერაქცია Android-ში (და Google-ის ზოგიერთ აპში iOS-ზე).
თუმცა, არის ერთი რამ Material Design-ის შესახებ, რომელიც მაწუხებს გასულ წელს შემოღებიდან: მცურავი მოქმედების ღილაკი.
FAB (მცურავი მოქმედების ღილაკები), Google-ის თანახმად, არის მრგვალი ღილაკები, რომლებიც ცურავს ინტერფეისის ზემოთ და „გამოიყენება მოქმედების პოპულარიზაციისთვის“. ისინი მოქმედებენ როგორც მოქმედების მოწოდების ღილაკები, რომლებიც შექმნილია იმ მოქმედების შესასრულებლად, რომელსაც მომხმარებლები ასრულებენ ყველაზე ხშირად ამ ეკრანზე.
და Material Design-ის თამამი ვიზუალური სტილის გამო, FAB-ის იგნორირება საკმაოდ რთულია და პრობლემაც სწორედ ამაშია. მიუხედავად იმისა, რომ პრაქტიკაში, იდეალურ პირობებში, FAB, როგორც ჩანს, უზრუნველყოფს კარგ UX-ს, FAB-ის გადაჭარბებული გამოყენება საზიანო იქნება აპლიკაციის საერთო UX-ისთვის. აქ არის ამის რამდენიმე მიზეზი.
ჩაძირვა გამოცდილებიდან მოდის
FAB-ები გამოირჩევიან ვიზუალურად — ისინი ფაქტიურად ეკრანზე UI ელემენტის თავზეა. ასევე, FAB-ის დამატება ავტომატურად გამოიწვევს ნაკლებად ჩაღრმავებულ UX-ს, განსაკუთრებით გავლენას მოახდენს აპებზე (ან ეკრანებზე), რომელთა მიზანია ინტერაქტიული გამოცდილების უზრუნველყოფა.
ერთი მაგალითია Google-ის ახალი ფოტო აპლიკაცია.
![](https://i2.wp.com/uxgu.ru/wp-content/uploads/2016/06/1-xc2gAHQAjvlJI80BbUlPEw.png)
ფოტო აპი იხსნება გალერეის სახით მცურავი საძიებო ღილაკით. მაგრამ საქმე იმაშია, რომ როდესაც ვხსნი ფოტო აპლიკაციას, უბრალოდ მინდა... ვნახო ჩემი ფოტოები. ამგვარად, მცურავი საძიებო ღილაკი აშორებს მომხმარებელს ფოტოების დათვალიერებაში ჩაძირვისგან, რაც აპლიკაციის მთავარი მიზანია. დანერგილი, Smart Search არის Google Photo აპის უნიკალური ფუნქცია. მაგრამ ნიშნავს ეს იმას, რომ მას განაცხადში უნდა მიეცეს უმაღლესი დონის, მუდმივი FAB? (Ვფიქრობ არა.)
უცნაურად საკმარისია, Google მეთანხმება. FAB-ების Material Design გვერდზე Google განმარტავს, რომ „ყველა ეკრანს არ სჭირდება მცურავი ბრძანების ღილაკი“.
შემდეგ კი დასძენს, რომ „მთავარი მოქმედება გალერეაში სურათზე შეხებაა, ამ შემთხვევაში ღილაკი არ არის საჭირო.
ისინი გამოირჩევიან და ხელს უშლიან.
ეს შეიძლება მონეტის მეორე მხარეს მოგვეჩვენოს, მაგრამ არის კიდევ რაღაც მნიშვნელოვანი ქონება FAB დგას მისი სარგებლობის გზაზე. ეკრანზე ადგილის დაკავება FAB რეალურად ბლოკავს შინაარსს.
კარგი, კარგი, FAB მხოლოდ პატარა მრგვალი ღილაკია, არა? რამდენი შინაარსის დაბლოკვა შეუძლია?
თუ გადახედავთ ფოტო აპლიკაციის ეკრანის სურათს, მიხვდებით, რომ FAB-ის ძიება ბლოკავს ესკიზის სურათის დაახლოებით 50 პროცენტს - რა თქმა უნდა, საკმარისია რამდენიმე სახის დასაფარად. ეს არსებითად ქმნის ერთი დამატებითი გადახვევის საჭიროებას ყოველ მეოთხე მინიატურულ სურათზე. ბოლო რიგიეკრანზე. და ეს არ არის ყველაზე ცუდი ნაწილი.
![](https://i2.wp.com/uxgu.ru/wp-content/uploads/2016/06/1-EVKJt1Pnk3vNWQNnVlboWw.png)
მომხმარებელმა დუმაზიმ გამოაქვეყნა Graphic Design Stack Exchange-ზე საკითხის შესახებ, რომელიც მას შეექმნა, როდესაც FAB-მა დაბლოკა "რჩეული" ვარსკვლავი, ისევე როგორც დრო მისი აპლიკაციის ეკრანზე. ეს ასახავს პრობლემას სიის ნახვის ყველა აპში და განსაკუთრებით პრობლემური ხდება, როდესაც სიაში ბოლო ელემენტი ვერ ასწრებს ზემოთ. ეს ნიშნავს, რომ მთელი სვეტი უნდა შეიწიროს (ვარსკვლავის მდებარეობის შეცვლა და ა.შ.) ეკრანის სათანადო გამოყენების უზრუნველსაყოფად.
შესაბამისად, FAB იკავებს ეკრანზე ბევრად მეტ უძრავ ქონებას, ვიდრე მისი ზომა გვთავაზობს.
ხელშემწყობი მოქმედება, სავარაუდოდ, არც ისე ხშირად გამოიყენება.
UX-ის დიზაინის დროს, თქვენ უნდა გახსოვდეთ 80/20 წესი, რომელიც ამბობს, რომ მომხმარებლები გამოიყენებენ ფუნქციების 20%-ს 80%-ში. სხვა სიტყვებით რომ ვთქვათ, ძალისხმევის უდიდესი ნაწილი უნდა იყოს გამოყენებული იმ მცირე რაოდენობის ელემენტების დიზაინზე, რომლებსაც მომხმარებლები გამოიყენებენ ყველაზედრო.
FAB რეალურად აკეთებს ამას - თეორიულად. მაგრამ რა მოხდება, თუ ხელშემწყობი მოქმედება არ გამოიყენება ხშირად?
მიიღეთ მაგალითად Google აპი Gmail.
![](https://i1.wp.com/uxgu.ru/wp-content/uploads/2016/06/1-gfMkoAYQC9lYtyswq4Wobw.png)
Gmail აპის FAB არის შედგენის ღილაკი, რომელიც ვარაუდობს, რომ მომხმარებლების ძირითადი მოქმედება არის ელფოსტის შედგენა.
მაგრამ არის ეს?
მრავალრიცხოვანმა კვლევებმა აჩვენა, რომ ელ.ფოსტის მინიმუმ 50% იკითხება მობილურ მოწყობილობაზე და თითქმის არცერთი არ ამბობს ამას ელ.ფოსტის შექმნაზე. სხვა სიტყვებით რომ ვთქვათ, როგორც ჩვენი ყოველდღიური გამოცდილება ადასტურებს, მობილური მოწყობილობების მომხმარებელთა უმეტესობა ჩვეულებრივ იყენებს ელ.ფოსტის აპებს წასაკითხად წერილებს.
შეიძლება იყოს რამდენიმე ადამიანი, ვინც იყენებს მობილურ მოწყობილობებს ელფოსტაზე საპასუხოდ, მაგრამ ეს ხდება მხოლოდ ელფოსტის გახსნის შემდეგ (გაითვალისწინეთ, რომ ეს ნიშნავს, რომ ისინი გვერდს აუვლიან FAB-ს). მომხმარებლის ეს ქცევა, სავარაუდოდ, გამოწვეულია შეყვანის საკმაოდ არასრულყოფილი მექანიზმით ვირტუალური კლავიატურებიდა ავტომატური ჩანაცვლება ნიშნავს, რომ ძირითადი ქმედება, რომელსაც მომხმარებლები ასრულებენ, არის წერილების კითხვა (და პასუხის გაცემა) და არა ახლის შექმნა.
მაშ, რას აკეთებს FAB „ელფოსტის შედგენა“ ღილაკი? იშვიათ შემთხვევებში, ეს სიამოვნებას ანიჭებს მომხმარებლებს, როდესაც მათ სურთ შექმნან წერილი ამ აპლიკაციის გამოყენებით. მაგრამ დანარჩენ დროს ის მხოლოდ იკავებს სივრცეს ეკრანზე, ბლოკავს "ვარსკვლავს" და დროს და მუდმივად აშორებს ყურადღებას ნათელი წითელი ფერით.
გვინდა FAB? გადახაზეთ წინა - გვჭირდება ეს საერთოდ?
რა თქმა უნდა, ყველა FAB-ის გამოყენება არ ამცირებს Material აპლიკაციების გამოყენების გამოცდილებას. Იქ არის რამდენიმე ნათელი მაგალითები FAB-ები, რომლებსაც აქვთ აზრი და აუმჯობესებენ ამ აპების UX-ს.
![](https://i1.wp.com/uxgu.ru/wp-content/uploads/2016/06/1-8UiETvAhJWdUJj7TzIc9Kg.png)
გუგლის რუკაეს არის FAB-ის სწორად გაკეთებული შესანიშნავი მაგალითი. მთავარი ქმედება, რომელსაც მომხმარებლები ასრულებენ Maps-ზე, არის მიმართულებების მიღება, ამიტომ ძალიან მიზანშეწონილია FAB-ის გამოყენება ამ მიზნით.
მაგრამ გახსოვდეთ, რომ რუკები საკმაოდ არის განსაკუთრებული შემთხვევა, როდესაც კონტენტის მომხმარებლებს თითქმის ყოველთვის აინტერესებთ ეკრანის ცენტრში მოხვედრა (სადაც მდებარეობს თქვენი ლურჯი წერტილი, პოზიციის მონიშვნა). თუმცა, უმეტეს აპლიკაციებში, ბადის ან სიის ხედი ნიშნავს, რომ მომხმარებლები ურთიერთობენ კონტენტთან, რომელიც მდებარეობს ეკრანზე ყველგან, მათ შორის, სადაც ჩვეულებრივ მდებარეობს FAB-ები.
გთხოვთ, ასევე გაითვალისწინოთ, რომ ზემოთ მოცემული ეკრანის ანაბეჭდები მხოლოდ ისტორიის ნაწილს გვიყვება: რეალურად გამოყენებისას, FAB-ები ადგილზე რჩება მაშინაც კი, როდესაც მომხმარებელი სქროლობს (ხშირად). როგორც Google-მა არაერთხელ აღნიშნა Material Design-ში, მოძრაობის დიზაინი ისეთივე მნიშვნელოვანია, როგორც UI დიზაინი.
მოძრაობის არარსებობა - აქცენტი ეკრანის სივრცეზე - მოძრავი შინაარსის კონტექსტში უფრო მეტს ქმნის მაღალი დონეყურადღების გაფანტვა, რომელსაც ეკრანის ანაბეჭდები ვერ აჩვენებს.
ასე რომ, რადგან ჩვენ თითქმის არ გვაქვს კარგი FAB განხორციელების მაგალითები, ჩნდება კითხვა: საჭიროა თუ არა ისინი?
როდესაც გადავხედავთ აპებში FAB-ების არსებობის ნაკლოვანებებს, ჩვენ შეგვიძლია მივაღწიოთ მარტივ გაგებას: მომხმარებლები არა მხოლოდ ასრულებენ მოქმედებებს აპებში, ისინი ასევე მოიხმარენ შინაარსს.
FAB დიზაინი მატერიალურ დიზაინში ემყარება იმ წინაპირობას, რომ მომხმარებლები დროის უმეტეს ნაწილს ატარებენ კონკრეტული მოქმედების შესრულებაზე და, შესაბამისად, მას უნდა მიენიჭოს ამაღლებული სტატუსი მთავარი, მაღალი დონის ღილაკის სახით. მაგრამ ბევრ აპლიკაციაში მომხმარებლები კონტენტის მოხმარებაზეც არიან ორიენტირებულნი: ფოტო აპლიკაციაში მომხმარებლებს სურთ ფოტოების ყურება; Gmail აპში მომხმარებლებს სურთ წაიკითხონ თავიანთი ელ.წერილები; ხოლო Facebook-ის აპლიკაციაში მომხმარებლებს სურთ წაიკითხონ მეგობრების შეტყობინებები.
ამდენად, FAB არის დიზაინის ფილოსოფია (ან მინიმუმ დიზაინის არჩევანი), რომელიც კონტენტის ოპტიმალურ მოხმარებას ექვემდებარება მოქმედების შესრულებას. და ჩვენ უნდა ვკითხოთ საკუთარ თავს: აუცილებელია ასეთი კომპრომისი? გვინდა კი ასეთი კომპრომისზე წასვლა?
როდესაც FAB-ები უმეტეს დროს იწვევს ცუდ UX-ს, როდესაც ძნელია აპლიკაციის შიგნით ყველაზე ხშირად გამოყენებული მოქმედების გარკვევა, და როცა გიწევს შემოვლითი გზების პოვნა (სადაც FAB ქრება გადახვევისას ან გადაფარავს სხვა ელემენტებს), მე ვიტყოდი, რომ პასუხი არის არა.
Google's Material Design არის საკმაოდ კარგი ერთიანი, პრინციპული დიზაინის ენა, მაგრამ FAB არ არის საუკეთესო რამ ამაში.
მომხმარებელს არ სურდა ასეთი ფუნქციონირების ჩართვა. მას უბრალოდ სჭირდებოდა ღილაკი, რომელზეც დაწკაპუნების შემდეგ გამოჩნდება მოდალური ფანჯარა შეკვეთის ფორმით. გამოძახების ღილაკები ძალიან სასარგებლოა. მათი წყალობით ადამიანს შეუძლია შეუკვეთოს თავისთან ზარი ფულის დახარჯვის გარეშე, რაც ჩვენი ხალხისთვის მნიშვნელოვანია :). სინამდვილეში, ასეთი ღილაკი შეიძლება გაკეთდეს გვერდის ზედა ნაწილში დასაბრუნებლად და დახმარების ღილაკისთვის და ა.შ. აქ მთავარი ელემენტი იქნება ანიმაცია, პულსირებული ეფექტი.
09.09.2016 დამატებულია ახალი ღილაკი, ტალღოვანი ეფექტი არ მუშაობდა ძველზე ახალ Chrome-ში.
ძალიან მარტივია ანიმაციური ღილაკის დაყენება თქვენს ვებსაიტზე. ყველა ანიმაცია კეთდება გამოყენებით CSS, დამატებითი სკრიპტებისა და დანამატების დაკავშირების გარეშე. მიუხედავად იმისა, რომ ბევრი კოდია, ყველაფერი საკმაოდ მარტივია.
ძვირფასო ოსტატებო! სინდისი გქონდეთ, თუ ამ ღილაკს იყენებთ, ტელეფონის სმარტფონის სურათი მაინც ატვირთეთ თქვენს ჰოსტინგზე და სულელურად ნუ დააკოპირებთ ლინკს ჩემს საიტზე. მე ვადიდებ ასეთ ხელოსნებს და მათ საიტებს მთელ ინტერნეტში :)
პირველ რიგში, თქვენ უნდა დაამატოთ HTML მარკირება. ჩვენთვის ეს იქნება რეგულარული ბმული. IN საჭირო ადგილასთქვენს ვებსაიტზე, სათაურში ან ქვედაბოლოში, ჩადეთ შემდეგი ხაზი.
ღილაკი შექმნილია სხვა სტატიიდან მოდალური ფანჯრის დასაკავშირებლად. თუ თქვენ დააკავშირებთ მესამე მხარის ბმულებს, მაშინ ღილაკს აქვს მოვლენა თავის HTML კოდში
Onclick="return false;"
ახლა თქვენ უნდა დაამატოთ თავად სტილები სტილის ფაილს CSS.
#popup__toggle(ქვემოთ:25px;მარჯვნივ:10px;პოზიცია:ფიქსირებული;z-index:999;).img-circle(ფონის ფერი:#29AEE3;box-sizing:content-box;-webkit-box-sizing:content -box;) .circlephone(box-sizing:content-box;-webkit-box-sizing:content-box;საზღვარი: 2px მყარი #29AEE3;სიგანე:150px;სიმაღლე:150px;ქვედა:-25px;მარჯვნივ:10px; პოზიცია:აბსოლუტური;-webkit-border-radius:100%;-moz-border-radius: 100%;border-radius: 100%;გაუმჭვირვალობა: .5;-webkit-ანიმაცია: წრე-ანიმი 2.4s infinite ease-in -out !მნიშვნელოვანი;-moz-ანიმაცია: წრე-ანიმი 2.4s infinite ease-in-out !მნიშვნელოვანი;-ms-ანიმაცია: circle-anim 2.4s infinite ease-in-out !მნიშვნელოვანი;-o-ანიმაცია: წრე- anim 2.4s infinite ease-in-out !მნიშვნელოვანი;ანიმაცია: circle-anim 2.4s infinite ease-in-out !მნიშვნელოვანი;-webkit-transition: all .5s;-moz-transition: all .5s;-o-transition : ყველა .5s;ტრანზიცია: ყველა 0.5s;) .circle-fill(box-sizing:content-box;-webkit-box-sizing:content-box;ფონის ფერი:#29AEE3;სიგანე:100px;სიმაღლე:100px ;ქვედა:0px;მარჯვნივ:35px;პოზიცია:აბსოლუტური;-webkit-border-radius: 100%;-moz-border-radius: 100%;border-radius: 100%;საზღვარი: 2px მყარი გამჭვირვალე;-webkit-ანიმაცია : circle-fill-anim 2.3s infinite ease-in-out;-moz-animation: circle-fill-anim 2.3s infinite ease-in-out;-ms-animation: circle-fill-anim 2.3s infinite ease-in -out;-o-ანიმაცია: წრე-შევსება-ანიმი 2.3s უსასრულო სიმარტივე-შესასვლელი;ანიმაცია: წრე-შევსება-ანიმი 2.3ს უსასრულო სიმარტივე-შესასვლელი;-ვებ-კიტი-გარდამავალი: ყველა .5წ;-moz- გადასვლა: ყველა .5s;-o-transition: ყველა .5s;ტრანზიცია: ყველა 0.5s;) .img-circle(box-sizing:content-box;-webkit-box-sizing:content-box;width:72px; სიმაღლე: 72 პიქსელი; ქვედა: 14 პიქსელი; მარჯვნივ: 49 პიქსელი; პოზიცია: აბსოლუტური;-ვებკიტი-საზღვრის-რადიუსი: 100%;-moz-საზღვრის-რადიუსი: 100%;საზღვარი-რადიუსი: 100%;საზღვარი: 2px მყარი გამჭვირვალე;გაუმჭვირვალობა : .7;) .img-circleblock(box-sizing:content-box;-webkit-box-sizing:content-box;width:72px; სიმაღლე:72px;background-image:url(images/mini.png); ფონი-პოზიცია: ცენტრი ცენტრი; ფონური-გამეორება:არა-განმეორება;ანიმაციის-სახელი: გადახვევა;-webkit-animation-name: tossing;ანიმაცია-ხანგრძლივობა: 1,5წმ;-ვებ-კიტი-ანიმაცია-ხანგრძლივობა: 1,5წმ;ანიმაცია-გამეორება -count: უსასრულო;-webkit-animation-iteration-count: უსასრულო;).img-circle:hover(გაუმჭვირვალობა: 1;) @keyframes პულსი (0% (ტრანსფორმა: მასშტაბი(0.9); გამჭვირვალობა: 1;) 50% (ტრანსფორმა: მასშტაბი(1); გამჭვირვალობა: 1; ) 100% (ტრანსფორმა: მასშტაბი (0.9); გამჭვირვალობა: 1;)) @-webkit-keyframes პულსი (0% (-webkit-transform: scale(0.95); გამჭვირვალობა: 1;) 50% (-webkit-transform: scale(1);გაუმჭვირვალობა: 1;) 100% (-webkit-transform: scale(0.95);გაუმჭვირვალობა: 1;)) @keyframes tossing (0% (transform: rotate(-8deg);) 50% (transform: rotate(8deg);) 100% (transform: rotate(-8deg);)) @-webkit-keyframes tossing (0% (-webkit-transform: rotate(-8deg);) 50% (-webkit-transform: rotate (8 გრადუსი);) 100% (-webkit-transform: rotate(-8deg);)) @-moz-keyframes წრე-ანიმი (0% (-moz-transform: rotate(0deg) scale(0. 5) skew (1deg); გამჭვირვალობა: .1;-moz-გაუმჭვირვალობა: .1;-webkit-გაუმჭვირვალობა: .1;-o-გაუმჭვირვალობა: .1;) 30% (-moz-transform: rotate(0deg) მასშტაბი (0.7) დახრილობა (1 გრადუსი); გამჭვირვალობა: .5;-moz-გაუმჭვირვალობა: .5;-ვებ-კიტი-გაუმჭვირვალობა: .5;-o-გაუმჭვირვალობა: .5;) 100% (-moz-ტრანსფორმა: rotate(0deg) მასშტაბი (1) დახრილობა (1 გრადუსი); გამჭვირვალობა: .6;-moz-გაუმჭვირვალობა: .6;-ვებ-კიტი-გაუმჭვირვალობა: .6;-o-გაუმჭვირვალობა: .1;)) @-webkit-keyframes წრე-ანიმი ( 0 % (-webkit-transform: rotate(0deg) scale(0.5) skew(1deg);-webkit-opacity: .1;) 30% (-webkit-transform: rotate(0deg) scale(0.7) skew(1deg); -webkit-გაუმჭვირვალობა: .5;) 100% (-webkit-transform: rotate(0deg) scale(1) skew(1deg);-webkit-opacity: .1;)) @-o-keyframes წრე-ანიმი (0 % (-o-ტრანსფორმაცია: rotate(0deg) kscale(0.5) skew(1deg);-o-გაუმჭვირვალობა: .1;) 30% (-o-transform: rotate(0deg) scale(0.7) skew(1deg); -o-გაუმჭვირვალობა: .5;) 100% (-o-transform: rotate(0deg) scale(1) skew(1deg);-o-გაუმჭვირვალობა: .1;)) @keyframes circle-anim ( 0% (transform : rotate(0deg) scale(0.5) skew(1deg);გაუმჭვირვალობა: .1;) 30% (transform: rotate(0deg) scale(0.7) skew(1deg);გაუმჭვირვალობა: .5;) 100% (transform: rotate (0 გრადუსი) სკალა (1) სკევი (1 გრადუსი); გამჭვირვალობა: .1;)) @-moz-keyframes circle-fill-anim (0% (-moz-transform: rotate(0deg) scale(0.7) skew(1deg);გაუმჭვირვალობა: .2;) 50% (-moz -ტრანსფორმა: rotate(0deg) -moz-scale(1) skew(1deg);გაუმჭვირვალობა: .2;) 100% (-moz-transform: rotate(0deg) scale(0.7) skew(1deg);გაუმჭვირვალობა: .2 + (0 გრადუსი) მასშტაბი(1) დახრილობა(1 გრადუსი); გამჭვირვალეობა: .2; ) 100% (-ვებ ნაკრები-ტრანსფორმა: როტაცია(0 გრადუსი) მასშტაბი(0.7) დახრილობა(1 გრადუსი); გამჭვირვალობა: .2;)) @-o- keyframes circle-fill-anim ( 0% (-o-transform: rotate(0deg) scale(0.7) skew(1deg); გამჭვირვალობა: .2;) 50% (-o-transform: rotate(0deg) scale(1) skew(1deg);გაუმჭვირვალობა: .2;) 100% (-o-transform: rotate(0deg) scale(0.7) skew(1deg);გაუმჭვირვალობა: .2;)) @keyframes circle-fill-anim ( 0% ( ტრანსფორმაცია: rotate(0deg) scale(0.7) skew(1deg);გაუმჭვირვალობა: .2;) 50% (transform: rotate(0deg) scale(1) skew(1deg);გაუმჭვირვალობა: .2;) 100% (transform: rotate(0deg) scale(0.7) skew(1deg);გაუმჭვირვალობა: .2;))
პირველი 7 ხაზი პასუხისმგებელია ღილაკის გამოჩენაზე, შემდეგ კი ანიმაციაზე. პირველ სტრიქონში შეგიძლიათ დააკონფიგურიროთ ღილაკის მდებარეობა, ხოლო მეექვსე სტრიქონში მიუთითოთ გამოსახულების გზა პარამეტრში background-image:url(mini.png).
ეს არის ის, რაც გჭირდებათ ასეთი ღილაკის დასაყენებლად. თუ გესმით CSS, შეგიძლიათ დააკონფიგურიროთ ღილაკი და, საჭიროების შემთხვევაში, მთლიანად შეცვალოთ იგი თქვენს საჭიროებებზე და საიტის სტილზე.
ამ ღილაკზე მოდალური ფანჯრის მიმაგრებაში სტატია დაგეხმარებათ. თუ ყველაფერს ინსტრუქციის მიხედვით გააკეთებთ, პრობლემა არ შეგექმნებათ.
სულ ესაა, მადლობა ყურადღებისთვის. 🙂
P.S.
გადავწყვიტე შემექმნა მოდული, რომელიც დაგეხმარება უპრობლემოდ მიიღოთ სასურველი შედეგი. შეგიძლიათ წახვიდეთ და ნახოთ:
ღილაკები სოციალური ქსელებიან ონლაინ კონსულტაციები დღეს გვხვდება თითქმის ყველა ინტერნეტ პროექტზე. ზოგიერთი მათგანი მოთავსებულია პირდაპირ გვერდის სხეულში, ზოგი კი ყოველთვის რჩება მომხმარებლის თვალში, გადახვევის მიუხედავად. ჩვენ შევეცდებით ამ მასალაში შევქმნათ ზუსტად ასეთი ღილაკები და ბლოკები სუფთა CSS-ის გამოყენებით.
იმის უზრუნველსაყოფად, რომ ღილაკი ან ბლოკი (შემდგომში უბრალოდ ღილაკი) არ ცვლის თავის პოზიციას გვერდის გადახვევის მიუხედავად - თითქოს ცურავს საიტის მასალებში, მას უნდა მიეცეს პოზიცია ( პოზიცია) და მოათავსეთ იგი ყველა ელემენტის თავზე. მაგრამ სანამ პირდაპირ CSS სტილზე გადავალთ, მოდით შევქმნათ ობიექტი ჩვენი ექსპერიმენტებისთვის. დაე, ეს იყოს გარკვეული სურათი, რომელიც არის ამოსავალი წერტილი გარკვეული მოქმედებისთვის
<a class =”start” href =”#” ><img src =”სურათი” >a >ჩვენ შევადგინეთ html კოდი, ახლა ვცადოთ მისი ცურვა.
ასე რომ, ჩვენ უკვე ვიცით, რომ ფიქსირებული პოზიციონირება ელემენტს საშუალებას აძლევს შეინარჩუნოს თავისი პოზიცია გვერდის გადახვევისას და იმისთვის, რომ ის ყოველთვის იყოს წინა პლანზე, აუცილებელია პარამეტრზე დიდი რიცხვითი მნიშვნელობის დაყენება. z-ინდექსი. მოდით გავაკეთოთ ეს ჩვენი ღილაკისთვის:
.დაწყება( პოზიცია: ფიქსირებული; z-ინდექსი: 99999 ; } .დაწყება( მარცხენა: 0 :პოზიცია: დაფიქსირებულია; ზედა: 200 პიქსელი; z-ინდექსი: 99999 ; }თუ ჩვენ გვჭირდება ღილაკის განთავსება მარჯვნივ, მაშინ მარცხენას ნაცვლად უნდა დავაყენოთ მარჯვნივ, კერძოდ:
.დაწყება( პოზიცია: ფიქსირებული; უფლება: 0 ; ზედა: 200 პიქსელი; z-ინდექსი: 99999 ; }თუ ჩვენი ღილაკი უნდა განთავსდეს ბრაუზერის ფანჯრის ბოლოში, მაშინ შეცვალეთ ზემოდან ქვედა.
ეს იყო ღილაკისთვის, მაგრამ რა მოხდება, თუ ჩვენ წინაშე დავაყენეთ არა ღილაკი, არამედ მთელი ბლოკი ტექსტით ან ღილაკების მთელი ნაკრებით. ეს პრობლემა შეიძლება მოგვარდეს ანალოგიურად, მხოლოდ შემდეგი სტილის დაყენებაა საჭირო ბლოკზე:
CSS
.block_start( ფონი: #382d25; საზღვარი: 1 px მყარი #382d25; საზღვარი-რადიუსი: 6 პიქსელი; ყუთი-ჩრდილი: 0 px 0 px 8 px #382d25; შრიფტის ზომა: 14 პიქსელი; padding: 5 px 5 px 0; პოზიცია: ფიქსირებული; უფლება: 25 პიქსელი; ტექსტის გასწორება: ცენტრში; ზედა: 25 პიქსელი; სიგანე: 96 პიქსელი; z-ინდექსი: 99999 ; }მოდით კომენტარი გავაკეთოთ პარამეტრების თვისებებზე. ბლოკის პოზიცია მითითებული იყო პოზიციის გამოყენებით: ფიქსირებული; z-ინდექსი: 99999; და მოათავსეთ იგი ზედა მარჯვნივ - მარჯვნივ: 25px; ზედა: 25 პიქსელი. ბლოკის სიგანე (სიგანე) არის 96 პიქსელი. მისი დიზაინი მითითებულია პარამეტრებით - ფონი, საზღვარი, საზღვარი-რადიუსი, ყუთი-ჩრდილი. და ბოლოს, ისე, რომ ჩვენი ტექსტი ბლოკის შიგნით მოთავსდეს შუაში და ჰქონდეს მინდვრები და იყოს იგივე ზომა, დავწერეთ შრიფტის ზომა: 14px; padding: 5px 5px 0; ტექსტის გასწორება: ცენტრში.
თეორია კარგია, თქვენ ფიქრობდით, მაგრამ როგორ შეიძლება ამის განხორციელება რეალურად? მაგალითად, ვთქვათ, გვაქვს ორი ვებ – გვერდი – ერთი არის CMS Joomla, მეორე არის WordPress. აბა, მოდით დავაინსტალიროთ ის ჯომლასთვის
ინსტალაცია CMS Joomla-ზე
ღილაკის html კოდი უნდა განთავსდეს საიტის შაბლონში - ეს არის ფაილი index.php, რომელიც მდებარეობს აქ - your_site/templates/theme/ მე ყველაზე ხშირად ვაყენებ თავად კოდს ტეგის წინ.