Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | |
4.0+ | 7.0+ | 1.0+ | 4.0+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ |
Завдання
Змінити параметри рамки навколо зображення при наведенні на нього курсору миші і відновити назад, коли курсор змінює положення.
Рішення
За зміну стилю елемента при наведенні на нього покажчика миші відповідає псевдоклас :hover. Для управління стилем посилань цей псевдоклас додається до селектору A.
a { стиль звичайного посилання }
a:hover { стиль посилання при наведенні на нього курсора }
Також псевдоклас :hover допускається застосовувати аналогічним способом зображення, але у браузері Internet Explorer версії 6.0 і нижче цей підхід працювати не буде. Все тому, що ця версія Internet Explorer розуміє :hover тільки для посилань. Тому для початку розглянемо універсальний метод, працює у всіх браузерах.
Зображення перетворюється на посилання, якщо тег <img> помістити всередину контейнера <a>, при цьому навколо картинок автоматично додається рамка, яка показує що перед нами посилання. Вид таких рамок управляється за допомогою стильового властивості border додається до конструкції a img, яка повідомляє, що стилі слід застосовувати до тегу <img> розташованому всередині <a>. Параметри рамки при наведенні курсора на малюнок задаються конструкцією a:hover img, як показано в прикладі 1.
Приклад 1. Змінення кольорів рамки
HTML5CSS 2.1IECrOpSaFx
<!DOCTYPE html> <HTML> <head> <meta charset="utf-8"> <title>Колір рамки</title> <style> img { border: 3px solid #53da3f; /* Рамка навколо зображення-посилання */ } a:hover img { border: 3px solid #f26522; /* Рамка при наведенні курсору миші на посилання */ } </style> </head> <body> <p> <a href="page-1.html"> <img src="images/figure.jpg" alt="image 1"></a> <a href="page-2.html"> <img src="images/figure.jpg" alt="image 2"></a> </p> </body> </html>
Результат цього прикладу показано на рис. 1.
Рис. 1. Вигляд рамки до і після наведення курсору на зображення
Якщо хочеться зробити зміна кольору рамки без застосування посилань, то властивість border допустимо застосувати безпосередньо до селектору img, при цьому у браузері Internet Explorer до версії 6.0 код працювати не буде (приклад 2).
Приклад 2. Зміна параметра рамки навколо зображення
img { border: 3px solid #53da3f; /* Рамка навколо зображення */ } img: hover { border: 3px solid #f26522; /* Рамка при наведенні курсора на малюнок миші */ }
В даному прикладі рамка додається до всіх зображень у веб-сторінки, якщо з допомогою рамки потрібно виділити лише деякі з них, додайте до них стильові класи.