Html ინსტრუმენტული მინიშნება კითხვისას დაჭერისას. როგორ გავაკეთოთ მარტივი ინსტრუმენტების რჩევები CSS3-ში
ავტორისგან:გამარჯობა. ინსტრუმენტის მინიშნება არის პატარა ახსნა-განმარტებადი ტექსტი, რომელიც ჩნდება ელემენტზე, როგორც წესი, სურათზე გადასვლისას. დღეს ჩვენ განვიხილავთ, თუ როგორ შეგიძლიათ შექმნათ ინსტრუმენტები HTML-ში სხვადასხვა გზით.
სტანდარტული მინიშნება
ნაგულისხმევად, სათაურის ატრიბუტი პასუხისმგებელია განმარტებითი ტექსტის ჩვენებაზე. ის შეიძლება გამოყენებულ იქნას სხვადასხვა ელემენტებისთვის, მაგრამ, როგორც წესი, გამოიყენება მხოლოდ სურათებისთვის, რათა ახსნას, თუ რას აჩვენებს ისინი.
ერთ-ერთ წინა სტატიაში მე გამოვიყენე ვეფხვის გამოსახულება სურათების ზომებთან მუშაობის საჩვენებლად. თუ წინააღმდეგი არ ხართ, ამ სურათს ისევ გამოვიყენებ. ასე რომ, მინიშნების საჩვენებლად, თქვენ უბრალოდ უნდა დაამატოთ სათაურის ატრიბუტი და ჩაწეროთ მასში სასურველი ტექსტი.
< img src = "tiger.jpg" title = "ეს ვეფხვია" > |
შეიძლება იყოს ერთი სიტყვა ან რამდენიმე წინადადება. და ეს ასე გამოიყურება:
მინიშნება ჩნდება შეუფერხებლად, არა მაშინვე აფრენის შემდეგ, არამედ გარკვეული დროის შემდეგ. ეს არის ნაგულისხმევი ქცევა.
ასეთი ხელსაწყოს მთავარი პრობლემა ის არის, რომ მისი სტილიზაცია შეუძლებელია. როგორ მოვაგვაროთ ეს პრობლემა? მინიშნება სხვა გზებით მოგვიწევს. ახლა მე გაჩვენებ წყვილს.
სუფთა css მეთოდი
ძალიან საინტერესო გზა, რომელიც საშუალებას გაძლევთ ლამაზად აჩვენოთ მინიშნება გამოსახულების შესახებ. HTML მარკირება მარტივია, მხოლოდ სურათი უნდა იყოს ჩასმული ბლოკის კონტეინერში, რომელსაც ჩვენ მივანიჭებთ იდენტიფიკატორს, რათა მოგვიანებით მივმართოთ მას სტილში:
< div id = "tiger" data - name = "სუმატრული ვეფხვი"> < img src = "tiger.jpg" > < / div > |
ერთადერთი, რაც შეიძლება თქვენთვის გაუგებარი იყოს აქ არის მონაცემთა სახელის ატრიბუტი. საქმე იმაშია, რომ ეს არის ეგრეთ წოდებული მონაცემთა ატრიბუტი, რომელიც თავისთავად არაფერს აკეთებს, მაგრამ მისი მნიშვნელობის გამოყენება შესაძლებელია css-სა და javascript-ში, რაც მას ზოგიერთ შემთხვევაში გამოსადეგს ხდის. ამას შემდეგში ნახავთ.
ასე რომ, პირველ რიგში, მოდით აღვწეროთ კონტეინერის სტილები. ჩვენ გვჭირდება შედარებითი პოზიციონირება, რადგან ჩვენ აბსოლუტურად განვათავსებთ ბლოკს განმარტებითი ტექსტით ისე, რომ პოზიციონირება მოხდეს მშობელ ბლოკთან და არა მთელ გვერდთან შედარებით.
#ვეფხვი (პოზიცია: ნათესავი; ჩვენება: inline-block;)
#ვეფხვი( პოზიცია: ნათესავი; ჩვენება: inline - ბლოკი; |
ბლოკის ხაზის ჩვენება ხელს შეუშლის ბლოკის (და მასთან ერთად ბლოკის ინსტრუმენტთან ერთად, რომელსაც ჩვენ შევქმნით) გაჭიმვას ფანჯრის მთელ სიგანეზე. რჩება მხოლოდ მინიშნების შექმნა. CSS-ში ამის გაკეთება ძალიან მოსახერხებელია ფსევდო ელემენტების გამოყენებით. Ამგვარად:
#tiger:hover:after ( შინაარსი: attr(მონაცემთა სახელი); პოზიცია: აბსოლუტური; მარცხნივ: 0; ქვედა: 0; ფონი: rgba(5,13,156,.55); ფერი: #fff; ტექსტის გასწორება: ცენტრში font-family: cursive-size: 14px;
#ვეფხვი:hover:after ( შინაარსი: attr (მონაცემები - სახელი); პოზიცია: აბსოლუტური; მარცხენა: 0; ქვედა: 0; ფონი: rgba(5, 13, 156, . 55); ფერი: #fff; ტექსტი - align : ცენტრი ; font-family: cursive; შრიფტის ზომა: 14px; padding: 3px 0; სიგანე: 100%; |
ბევრი კოდია, მაგრამ აქ არაფერია რთული. #tiger:hover:after სელექტორი ნიშნავს შემდეგს: როდესაც ჩვენ ვცურავთ გამოსახულების მქონე ბლოკს, უნდა შევქმნათ შემდეგ ფსევდოელემენტი (და შემდეგ წესები ჩამოთვლილია ხვეული ბრეკეტებში). შინაარსი: attr(data-name) თვისება ადგენს ბლოკის ტექსტურ მნიშვნელობას. ის ტოლი იქნება, რაც წერია image wrapper ბლოკის data-name ატრიბუტში.
ეს ინსტრუმენტული მინიშნება ჩნდება, როდესაც თქვენ ატარებთ სურათს, მაგრამ სტანდარტულისგან განსხვავებით, ის ამას უეცრად აკეთებს და თავად გარეგნობა ჩნდება მყისიერად დაჭერის მომენტში. ამ შემთხვევაში, შეუძლებელი იქნება გლუვი გადასვლის განხორციელება, რადგან გლუვი გადასვლები არ არის მხარდაჭერილი ფსევდოელემენტებისთვის.
მეთოდი 2. სუფთა css და გლუვი გარეგნობა
თუმცა, კოდის საკმაოდ ცოტა გადაწერით, შეგიძლიათ მიაღწიოთ ინსტრუმენტული მინიშნების გლუვ გარეგნობას და, ისევ, Javascript-ის გამოყენების გარეშე.
იმ 2 ეფექტის სანახავად, რომელსაც შემდეგ გაჩვენებთ, გირჩევთ გახსნათ Notepad ან ნებისმიერი მოსახერხებელი კოდის რედაქტორი და გაიმეოროთ ყველაფერი ჩემს შემდეგ. მართალია, ამისათვის თქვენ ჯერ კიდევ გჭირდებათ სტილის ფაილის ჩასმა, თუმცა ტეგებში სტილები ასევე შეიძლება ჩაიწეროს html-ში
Итак, код этого примера будет немного отличаться, и это по той причине, что мы не будем использовать псевдоэлемент. Именно из-за него невозможно было применить плавные изменения. В этот раз код будет выглядеть так:
< div id = "tiger2" > < img src = "tiger.jpg" > < div class = "text" > Суматранскийтигр< / div > < / div > |
CSS код не претерпел каких-то огромных изменений:
#tiger2{ position: relative; display: inline-block; } #tiger2 .text { transition: all 0.6s; opacity: 0; position: absolute; left: 0; bottom: 0; background: rgba(5,13,156,.55); color: #fff; text-align: center; font-family: cursive; font-size: 14px; padding: 3px 0; width: 100%; transform: scale(0); } #tiger2:hover .text{ opacity: 1; }
#tiger2{ position : relative ; display : inline - block ; #tiger2 .text { transition : all 0.6s ; transform : scale (0 ) ; #tiger2:hover .text{ opacity : 1 ; |
Убираем только свойство content, так как оно поддерживается лишь псевдоэлементами. Дописываем свойство transition, которое и создает плавные переходы состояний. Ну а opacity: 0 даст нашему блоку с подсказкой полную прозрачность, поэтому он не будет виден на странице.
При наведении на блок теперь достаточно вернуть нормальную прозрачность блоку с подсказкой. Готово. Можете проверить, элемент появляется плавно.
С помощью css3 можно скрыть элемент и по-другому. С помощью трансформаций, например. Замените полную прозрачность на вот такое свойство: transform: scale(0) и размер блока будет уменьшен до нулевого, так что его попросту не будет на экране. При наведении же на блок с картинкой следует вернуть нормальный размер вот так: transform: scale(1). В таком случае эффект появления будет смотреться еще красивее. Можете убедиться в этом сами.
Как видите, на css всплывающая подсказка также может появляться медленно с красивыми эффектами.
Другие способы
Еще больше возможностей вам может дать jQuery. С помощью этой библиотеки можно написать код для вывода подсказки как самостоятельно, так и найти какой-нибудь плагин, который уже реализует это дело.
Например, в фреймворке Bootstrap тоже есть много готовых компонентов и один из них, это как раз всплывающие подсказки. Вы можете посмотреть в документации к фреймворку примеры кода, которые позволяют создать эти самые подсказки, и использовать их. Необязательно подключать весь Bootstrap, можно вообще оставить только такой компонент, как подсказки (toolptips), скачать и подключить только его.
В общем, сегодня я показал вам способы на css, как сделать красивую подсказку с резким и плавным появлением, помимо этого в вашем арсенале есть Bootstrap и jQuery. Выбирайте что угодно и реализовывайте интересные и красивые подсказки на своих сайтах!
Влад Мержевич
В HTML уже есть глобальный атрибут title , который можно добавить к любому элементу веб-страницы. Наличие этого атрибута добавляет всплывающую подсказку, которая появляется при наведении курсора мыши на элемент. Шрифт текста, размер подсказки и её вид в целом зависит от операционной системы и не может быть изменён с помощью стилей. К тому же многих разработчиков не устраивает, что такая подсказка довольно быстро исчезает. Это заставляет искать способы сделать свою всплывающую подсказку, которая была бы оформлена желаемым образом. Конечно, самый универсальный способ заключается , но в некоторых случаях вполне достаточно обойтись и одним CSS.
В качестве примера я выбрал фотографии, при наведении на них курсора мыши показывается название фотографии. Сам вывод текста будем делать при помощи свойства content и брать значение текста из какого-либо атрибута через attr() . К сожалению, content не будет работать желаемым образом в сочетании с img , поэтому фотографии вставляются в элемент
Пример 1. Код HTML
HTML5 IE Cr Op Sa Fx
![](https://i2.wp.com/images/thumb1.jpg)
![](https://i0.wp.com/images/thumb2.jpg)
Переходим к стилю нашей подсказки. Вначале надо сделать, чтобы она вообще появлялась. Для этого воспользуемся псевдоэлементом ::after , к которому добавляем content: attr(data-title) .
Photo::after { content: attr(data-title); }
Получится, что после содержимого элемента с классом photo будет выводиться текст из атрибута data-title , что нам и требовалось. Но поскольку всплывающая подсказка должна появляться только при наведении на фотографию курсора мыши, добавим ещё псевдокласс :hover .
Photo:hover::after { content: attr(data-title); }
Остаётся только задать желаемый стиль нашей подсказки, в частности, положение, цвет фона, текста, рамку и др. (пример 2).
Пример 2. Стиль подсказки
HTML5 CSS3 IE Cr Op Sa Fx
![](https://i2.wp.com/images/thumb1.jpg)
![](https://i0.wp.com/images/thumb2.jpg)
ამ მაგალითის შედეგი ნაჩვენებია ნახ. 1.
ბრინჯი. 1. ინსტრუმენტების ტიპი
ინსტრუმენტების გვერდის პოზიცია არ არის დამოკიდებული კურსორის პოზიციაზე, ის გამოჩნდება იმავე ადგილას, როდესაც ატარებთ კურსორს სურათზე. შეგიძლიათ ინსტრუმენტების მინიშნება გამოჩნდეს ფოტოს ბოლოში, ასე რომ ის არ დაფარავს სურათის უმეტეს ნაწილს. სტილი ოდნავ შეიცვლება (მაგალითი 3).
მაგალითი 3. გამოსახულების ჩვენება ფოტოს ბოლოში
HTML5 CSS3 IE Cr Op Sa Fx
![](https://i2.wp.com/images/thumb1.jpg)
![](https://i0.wp.com/images/thumb2.jpg)
ამ მაგალითის შედეგი ნაჩვენებია ნახ. 2.
ბრინჯი. 2. ინსტრუმენტების ტიპი
სამწუხაროდ, გარდამავალი თვისება, რომელიც შეგიძლიათ გამოიყენოთ ხელსაწყოს მინიშნების ანიმაციისთვის, არ მუშაობს ფსევდოელემენტებთან. ამიტომ, ჩვენ მოგვიწევს კმაყოფილი ვიყოთ ჩვენი ხელსაწყოს უეცარი გარეგნობით. ასევე არ იქნება ეფექტი ბრაუზერში IE8 და უფრო ადრე, ეს ვერსია არ უჭერს მხარს ::after . თუმცა, თუ ამ ფსევდოელემენტს ჩაანაცვლებთ :after-ით, შეგიძლიათ მიიღოთ მეტ-ნაკლებად სამუშაო ვარიანტი.
ან რომელ HTML ელემენტებს შეიძლება ჰქონდეს ინსტრუმენტების რჩევები
თავი შეიცავს მაგალითებს ინსტრუმენტების რჩევები ჰიპერტექსტის მარკირების ზონიდან.
მარცხნივ მენიუში ნახავთ თანამედროვე და ძალიან დეტალურ HTML გაკვეთილებს.
ისინი საშუალებას მოგცემთ შექმნათ თქვენი ვებ – გვერდი ნულიდან, მაგრამ ახლა ცოტა დაბლა გამოიხედე.
ამ თავში განვიხილავთ
Სანამ დაიწყებ HTML ინსტრუმენტების რჩევები, გირჩევთ წაიკითხოთ ინფორმაცია.
ეს შეიძლება იყოს საინტერესო.
ადრეული ინტერნეტის ძირითადი ტენდენციები
1997 წლიდან, პირველი ბრაუზერების გამოჩენის შემდეგ, ზოგიერთი მომხმარებელი აქტიურად სპეციალიზდება ინტერნეტის სხვადასხვა სფეროში, ასევე ინფორმაციული ტექნოლოგიებისა და კომპიუტერული ტექნიკის მხარდაჭერის სფეროში. ბევრი მომხმარებელი ხდება ვებ დიზაინერი, იწყებს პირადი და კორპორატიული ვებსაიტების შექმნას და მონაწილეობს ლოკალური კომპიუტერული ქსელების მშენებლობაში. ამ გზით ისინი ასწავლიან საკუთარ თავს. ეს მდგომარეობა დღემდე შემორჩა. დღეს ძალიან მოდური და მოსახერხებელია ცოდნის მიღება მსოფლიო ქსელის საშუალებით. დღეს და განსაკუთრებით მაშინ, გასული საუკუნის 90-იანი წლების შუა ხანებში, ყოფილ სოციალისტურ ქვეყნებს სჭირდებათ პროგრამირების სპეციალისტები. თუ მოთხოვნა იქნება, იქნება მიწოდება. პროგრამისტები მასობრივად სწავლობენ – ზოგი უნივერსიტეტში, ზოგი სახლში, კომპიუტერის ეკრანის წინ. ამ ზღაპრულ დროს დიდ პოპულარობას იძენს პროგრამირების ფორუმები, სადაც ახალგაზრდები და არც თუ ისე სპეციალისტები ცვლიან თავიანთ გამოცდილებას და იდეებს.
მინიშნება HTML ბმულისთვის
აქ ყველაფერი თითქმის იგივეა: ატრიბუტი title="". განსაზღვრავს HTML ინსტრუმენტის მინიშნება .
გამოსახულების alt="" მიუთითებს ალტერნატიულ ტექსტზე, რომელიც გამოჩნდება გვერდზე, თუ სურათი არ არის ნაჩვენები.
არ დაიბნე HTMLინსტრუმენტული მინიშნება და ალტერნატიული ტექსტი, რადგან ეს არის სრულიად განსხვავებული რამ.
HTML ინსტრუმენტის მინიშნება ტექსტისთვის
HTML ინსტრუმენტის მინიშნებავრცელდება გვერდის თითქმის ყველა ელემენტზე.
სხვაგვარად რომ ვთქვათ, ზემოთ მოცემული მაგალითებიდან ჩვენთვის ნაცნობ სათაურს შეიძლება ჰქონდეს ყველა დონის, აბზაცის ტეგები, ბლოკები, სურათები და ხაზოვანი ელემენტები, როგორიცაა , და სხვა.
მაქვს title="" ატრიბუტის განთავსების გამოცდილება პირველი დონის სათაურების ტეგებსა და ბმულებში.
პირადად მე ვიყენებ ინსტრუმენტების რჩევებიბუნებრივია, როგორც გარდაუვალი სამოყვარულო ექსპერიმენტების ნაწილი ვებსაიტის ტექსტის საძიებო სისტემის ოპტიმიზაციაში. მე არ ვფიქრობ, რომ ვიმსჯელო, რამდენად წარმატებული იყო ჩემი ექსპერიმენტები. მართალი გითხრათ, ასეთი ოპტიმიზაციის შედეგი ძნელია კვალი, მაგრამ ძალიან ადვილია გადამეტება საკვანძო სიტყვებით და ფრაზებით. ამიტომ, იყავით ფრთხილად და არ გადააჭარბოთ თქვენს პოპულარიზაციას, რადგან ყოველთვის რისკავთ საძიებო სისტემების მიერ დასჯას.
ინსტრუმენტების მინიშნებები შესანიშნავი საშუალებაა დამატებითი ინფორმაციის ჩვენებისთვის, უბრალოდ მაუსის გადატანა ტექსტზე ან სურათზე. ისინი შეიძლება გამოყენებულ იქნას, მაგალითად, სურათების სახელების, ბმულების აღწერილობის ან ნებისმიერი სხვა ინფორმაციის საჩვენებლად, რომელიც შეიძლება სასარგებლო იყოს თქვენი რესურსის მომხმარებლისთვის. და არ არის საჭირო დიზაინის შაბლონის გატეხვა.
ამ გაკვეთილში ჩვენ განვიხილავთ, თუ როგორ უნდა შევქმნათ მარტივი ინსტრუმენტების რჩევები HTML და CSS გამოყენებით, რომელიც აჩვენებს ბმულის სათაურის ატრიბუტის შინაარსს.
მოდით დავაყენოთ კლასის ძირითადი სტილი ინსტრუმენტის მინიშნება:
ინსტრუმენტების მინიშნება (ჩვენება: inline; პოზიცია: შედარებითი;)
ახლა ინსტრუმენტის მინიშნება გამოჩნდება ერთ ხაზზე ბმულით შედარებითი პოზიციონირების გამოყენებით. ახლა მოდით განვსაზღვროთ მომრგვალებული კუთხეები ხელსაწყოების ბლოკისთვის და განვათავსოთ იგი ბმულის თავზე:
მინიშნება: hover:after(ფონი: #333; ფონი: rgba(0,0,0,.8); საზღვრის რადიუსი: 5px; ქვედა: 26px; ფერი: #fff; შინაარსი: attr(სათაური); მარცხნივ: 20 % padding: 5px 15px: 98;
ჩვენ ვიყენებთ :hover ფსევდოკლასს, რომელიც ირჩევს ელემენტს, როდესაც მასზე მაუსი ჩერდება, და :after ფსევდოკლასს, რომელიც ამატებს შინაარსს შერჩეული ელემენტის შემდეგ. ფონი დაყენებულია ნაწილობრივ გამჭვირვალეზე, ხოლო ბრაუზერებისთვის, რომლებსაც არ აქვთ RGBA ფერის ფორმატის მხარდაჭერა, ფონის ფერს ვაყენებთ ნაცრისფერზე.
მომრგვალებული კუთხეები იქმნება საზღვრის რადიუსის ატრიბუტის გამოყენებით. დააყენეთ ტექსტის ფერი თეთრზე. ბოლოს, ჩვენ განვათავსებთ ხელსაწყოს ბლოკს და ვამატებთ ბალიშს.
სტილისა და პოზიციონირების განსაზღვრის გარდა, ჩვენ დავაყენეთ შინაარსის თვისება:
შინაარსი: attr(სათაური);
ეს თვისება საშუალებას გაძლევთ ჩასვათ შინაარსი, რომელიც შეიძლება იყოს სტრიქონი ან ელემენტის ატრიბუტი. ამ შემთხვევაში ვიყენებთ ბმულის სათაურის ატრიბუტს.
ბმული სასარგებლო რესურსზე
დასასრულებლად, თქვენ უნდა დაამატოთ ისარი ხელსაწყოების ბოლოში. ჩვენ ვიყენებთ ფსევდო-კლასს:before და სტილებს ჩარჩოსთვის:
მინიშნება: hover:fore( საზღვარი: მყარი; საზღვრის ფერი: #333 გამჭვირვალე; საზღვრის სიგანე: 6px 6px 0 6px; ქვედა: 20px; შინაარსი: ""; მარცხნივ: 50%; პოზიცია: აბსოლუტური; z-ინდექსი: 99 ;)
ისრის შესაქმნელად გამოვიყენეთ სასაზღვრო ხრიკი: დააყენეთ მარცხენა და მარჯვენა საზღვრების ფერი გამჭვირვალეზე და აკონტროლეთ საზღვრის სიგანე. ისარი ასევე განლაგებულია ხელსაწყოს გვერდის ქვეშ.
HTML ინსტრუმენტების მინიშნება არის ბლოკი დამატებითი ინფორმაციით, რომელიც ჩნდება, როდესაც მაუსის ატარებთ ვებ გვერდის კონკრეტულ ელემენტზე. დღეს ჩვენ შევქმნით ჩვენს საკუთარ ინსტრუმენტს HTML და CSS გამოყენებით:
დემოს ნახვა | ჩამოტვირთეთ საწყისი კოდი
ჩვენ შევძლებთ CSS მინიშნებების გამოყენებას ელემენტების უმეტესობისთვის, როგორიცაა ბმულები, ტეგები, სტილისტური ტექსტი და ა.შ. ჩვენ უნდა გამოვიყენოთ რამდენიმე კლასი ელემენტზე და დავამატოთ მონაცემთა ატრიბუტი Tooltip ტექსტით.
დოკუმენტის დაყენება
ჩვენ უნდა შევქმნათ HTML დოკუმენტი და დავაყენოთ წყაროს მარკირება:
მე დავამატე ბმული Normalize.css-ზე, რომელიც ეხმარება ბრაუზერის ყველა სტილის გადატვირთვას ნაგულისხმევად და უზრუნველყოფს, რომ ყველა ელემენტი ერთნაირად გამოიყურება ყველა ბრაუზერში. სტანდარტული CSS გადატვირთვისგან განსხვავებით, Normalize.css არ შლის ყველა ნაგულისხმევ სტილს, ასე რომ თქვენ არ მოგიწევთ ყველა ელემენტის სტილის თავიდან გადაწერა.
მე შევქმენი div კონტეინერის კლასით, რომელშიც განვათავსებთ HTML ინსტრუმენტთა რჩევების ძირითად მაგალითებს. აქ არის სტილები სხეულისთვის და .container კლასისთვის:
სხეული ( შრიფტი-ოჯახი: "Work Sans", sans-serif; შრიფტის ზომა: 1.5em; ხაზის სიმაღლე: 1.4em; შრიფტის წონა: 700; ფონის ფერი: #28ABE3; ფერი: #fff; ) .კონტეინერი ( სიგანე: 800 პიქსელი; ზღვარი: 100 პიქსელი ავტომატური; ფონი: რადიალური გრადიენტი (წრე ყველაზე შორს კუთხეში 400 პიქსელი 250 პიქსელი, #64BBE0 0%, #28ABE3, #28ABE3 95%); )
კონტეინერის div-ის ცენტრირება მოვახდინე მარჟა-მარცხნივ და ზღვრული-მარჯვნივ ავტოზე დაყენებით. ასევე დაემატა სხეულის განყოფილებას გარკვეული სტილი, რათა ის უკეთესად გამოიყურებოდეს.
მე გადავწყვიტე ფონისთვის დამემატებინა მცირე CSS გრადიენტი. თუ თქვენს ბრაუზერს არ აქვს CSS გრადიენტების მხარდაჭერა ( ეს ძირითადად ეხება IE 8 და 9-ს), ფონის ფერი დაუბრუნდება ნაგულისხმევ ლურჯს ( სხეულის განყოფილების ფონის ფერი).
მე გამოვიყენებ HTML hover მინიშნებებს წამყვანი ტეგებით, მაგრამ თქვენ შეგიძლიათ კლასების მინიჭება სხვა შიდა ელემენტებს, როგორიცაა ძლიერი ტეგი ან span . ქვემოთ მოცემულია კონტეინერის დაყოფის შინაარსი:
- ხელსაწყოს ზედა
- ხელსაწყოს ქვედა ნაწილი
- მინიშნება მარცხნივ
- ინსტრუმენტის მინიშნება მარჯვნივ
ბურთულებიანი სია შეიცავს ოთხ ელემენტს წამყვანი ტეგებით. მე შევცვალე სიის ელემენტების სტილი ისე, რომ ისინი არ შეიცავდნენ სიის პუნქტებს, არამედ გამოჩნდნენ როგორც inline-block. ეს საშუალებას მოგვცემს დავამატოთ ბალიშები მათ შორის:
Tooltip-wrapper ( padding: 160px 0; text-align: center; ) .tooltip-wrapper li ( list-style: none; ჩვენება: inline-block; ზღვარი: 0 10px; ) .tooltip-wrapper li a ( ფერი: # fff ტექსტი-დეკორაცია: არცერთი;
მოდით უფრო ახლოს მივხედოთ წამყვანის ტეგს:
მინიშნება მარცხნივ
ლინკებზე ორი კლასი დავნიშნე. Tooltip კლასი პასუხისმგებელია ინსტრუმენტთა ტანის ნაწილზე, ხოლო მეორე კლასი განსაზღვრავს მის განლაგებას.
თქვენ ასევე შეგიძლიათ იხილოთ მორგებული მონაცემთა ატრიბუტი, რომელიც შეიცავს ჩვენი HTML ინსტრუმენტების ტექსტს.
Tooltip კლასის შექმნა
ქვემოთ მოცემულია კოდი ინსტრუმენტების კლასისთვის:
ხელსაწყოს მინიშნება (პოზიცია: შედარებითი; ) .მინიშნება: შემდეგ (პოზიცია: აბსოლუტური; შიგთავსი: 8 პიქსელი; საზღვარი: 3 პიქსელი მყარი #fff; საზღვრის რადიუსი: 8 პიქსელი; ფონის ფერი: #1FDA9A; შრიფტის ზომა: .9em; შრიფტის წონა სქელი ფერი: #fff; ხილვადობა: დამალული .tooltip:hover:after (გაუმჭვირვალობა: 1; ხილვადობა: ხილული; )
HTML hover tooltip თავისთავად არის ფსევდო ელემენტი :after და განლაგებულია აბსოლუტურად. სწორედ ამიტომ აუცილებელია წამყვან ელემენტს შედარებითი პოზიციის მინიჭება. მე დავამატე რამდენიმე ძირითადი სტილი, როგორიცაა padding, საზღვარი, შრიფტის ზომა და სიგანე. მოდით უფრო დეტალურად განვიხილოთ შინაარსის თვისება.
ის შეიცავს attr() - მნიშვნელობას, რომელიც ინახავს ჩვენს მორგებულ მონაცემთა ინსტრუმენტს და იყენებს მას თავად ინსტრუმენტული მინიშნების ტექსტის საჩვენებლად. თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი სხვა სახელი data-tooltip-ის ნაცვლად, უბრალოდ დარწმუნდით, რომ ის იწყება data- . ამ ატრიბუტების შესახებ მეტი შეგიძლიათ გაიგოთ აქ.
ხელსაწყოს ნაწილს აქვს მინიმალური სიგანე 80 პიქსელი. თუ გსურთ, რომ ინსტრუმენტული მინიშნების კონტენტი გაიზარდოს ერთ ხაზად, დაამატეთ მაქსიმალური კონტენტის მნიშვნელობა სიგანე თვისებისთვის, რომელიც ამჟამად კომენტირებულია. უნდა აღინიშნოს, რომ ეს არის ექსპერიმენტული ფუნქცია, ამიტომ უნდა გამოიყენოთ გამყიდველის პრეფიქსები -webkit- და -moz- .
იმისათვის, რომ HTML hover tooltip-ს მივცეთ სლაიდის ანიმაციის ეფექტი, ვიყენებთ გადასვლის თვისებას. გაითვალისწინეთ მნიშვნელობა .25s, რომელიც განსაზღვრავს დაყოვნებას ხელსაწყოს მინიშნების ჩვენებამდე ან დამალვამდე. ამდენად, ის არ გამოჩნდება, თუ ტექსტზე შეცდომით გადაიხვევთ, მაგრამ მხოლოდ იმ შემთხვევაში, თუ ტექსტზე უფრო მეტ ხანს ატარებთ. მე ასევე დავაყენე გამჭვირვალობა 0-ზე და ხილვადობა დამალულზე. ჩვენ არ შეგვიძლია გამოვიყენოთ ჩვენება: არცერთი; , რადგან ელემენტი მთლიანად გაქრება და ჩვენ ვერ ვნახავთ გადასვლის ეფექტებს. გამჭვირვალობა და ხილვადობა იცვლება, როდესაც ელემენტს მაუსის ინდიკატორით ატარებთ.
შედეგი:
შეხედე
Შენიშვნა: მე შევცვალე/ამოშალე ზოგიერთი მარკირება და სტილი დემოში CodePen-ზე. საბოლოო შედეგის სანახავად, შეამოწმეთ დემო ვერსია ამ სტატიის ბოლოს.
მოძრაობის დამატება
ახლა, როდესაც ჩვენ განვახორციელეთ HTML ინსტრუმენტების მინიშნება, რომელიც გამოჩნდება/გაქრება გადასატანად, მოდით გადავიტანოთ იგი. ჩვენ უკვე მივანიჭეთ ანიმაციის თვისება, საკმარისია დავაყენოთ საწყისი პოზიცია, საიდანაც ის უნდა გამოჩნდეს და საბოლოო პოზიცია:
/*ინსტრუმენტების მინიშნების საწყისი პოზიცია*/ .tooltip-top:after ( ქვედა: 150%; მარცხენა: 0; ) .tooltip-bottom:after ( top: 155%; მარცხენა: 0; ) .tooltip-left:after ( მარჯვენა: 130%; min-width: 100px) .tooltip-right:after ( მარცხნივ: 130%; min-width: 100px; ) .tooltip-bottom:hover:after ( ზევით: 125%; ) .tooltip-left:hover:after (მარჯვნივ: 110%; ) .tooltip-right:hover:after (მარცხნივ: 110%; )
მე გადავწყვიტე ეს ფუნქცია დამატებით კლასებში დამემატებინა. ასე რომ, თუ თქვენ მიაკუთვნებთ, მაგალითად, კლასს .tooltip-left , ინსტრუმენტის მინიშნება გამოჩნდება ტექსტის მარცხნივ, თუ დაამატებთ .tooltip-top , ზემოდან გამოჩნდება ინსტრუმენტის მინიშნება და ა.შ.
დემოს ნახვა
ამ დემო ვერსიაში მე ვიყენებ .tooltip-right კლასს. შეგიძლიათ ექსპერიმენტი და გამოიყენოთ სხვადასხვა კლასები HTML ინსტრუმენტების სხვადასხვა პოზიციების დასადგენად.
სამკუთხედის შექმნა
ხელსაწყოს ბოლო ელემენტი არის პატარა სამკუთხედი ბლოკის ერთ მხარეს. ჩვენ შევქმნით მას :before ფსევდოკლასის გამოყენებით ( :after ფსევდოკლასი უკვე გამოიყენება თავად ინსტრუმენტისთვის). ჩვენ მას მივაკუთვნებთ ჩვენს ოთხ პოზიციურ კლასს ისე, რომ თითოეული მათგანისთვის სამკუთხედი გამოვა შესაბამისად:
/** * სამკუთხედები */ .tooltip-top:fore, .tooltip-bottom:before, .tooltip-left:before, .tooltip-right:Before ( შინაარსი: ""; ჩვენება: ბლოკი; პოზიცია: აბსოლუტური; საზღვარი- სიგანე: 7 პიქსელი: rgba(0, 0, 0, 0); მარცხენა: hover: ადრე, .tooltip-right:hover: ადრე (გაუმჭვირვალობა: 1; ხილვადობა: ხილული; )
ჩვენ ვქმნით სამკუთხედს საზღვრისთვის სიგანის მინიჭებით, როდესაც თავად ელემენტს არ აქვს სიგანე ან სიმაღლე. ამ შემთხვევაში, ჩარჩოს სიგანე დაყენებულია 7 პიქსელზე. ჩარჩოს ფერი სრულიად გამჭვირვალეა, რაც ძალიან მნიშვნელოვანია. კოდის შემდეგ ფრაგმენტში მე ვანიჭებ ფერს ჩარჩოს შესაბამის მხარეს, რომელიც საშუალებას მაძლევს განვსაზღვრო სამკუთხედის ფორმა.
დანარჩენი სტილი ჰგავს იმას, რაც ჩვენ გავაკეთეთ HTML hover tooltip სხეულისთვის. ჩვენ გვაქვს იგივე გადასვლები, პოზიცია აბსოლუტურია, გამჭვირვალობა დაყენებულია 0-ზე და ხილვადობა დამალულია:
/*სამკუთხედის საწყისი პოზიცია*/ .tooltip-top:fore ( ზევით: -51%; მარცხნივ: 50%; ტრანსფორმაცია: translateX(-50%); საზღვრის ზედა-ფერი: #fff; ) .tooltip-bottom :წინა (ქვემოთ: -56%; მარცხნივ: 50%; ტრანსფორმაცია: translateX(-50%); საზღვრის-ქვედა-ფერი: #fff; ) .tooltip-left:fore ( მარცხნივ: -31%; ზედა: 15% საზღვარი -left-color: #fff ) .tooltip-right:fore ( right: -31%; top: 15%; border-right-color: #fff; ) /* სამკუთხედის ბოლო პოზიცია */ .tooltip; -ზემო:მითითება :წინა ( ზევით: -21%; ) .tooltip-bottom:hover: ადრე (ქვემოთ: -26%; ) .tooltip-left:hover:fore ( მარცხნივ: -11%; ) .tooltip-right :hover: ადრე (მარჯვნივ: -11%; )
იმისათვის, რომ სამკუთხედი ისე მოძრაობდეს, როგორც ხელსაწყოს მინიშნება, თქვენ უნდა მიანიშნოთ საწყისი და დასასრული პოზიცია.