beget banner 468x60beget banner 728x90beget banner 930x180flexbe banner 468x60flexbe banner 728x90flexbe banner 930x180skillbox banner 468x60skillbox banner 728x90skillbox banner 930x180

Как применить границу к элементу при наведении курсора мыши, не влияя на макет в CSS

Если вы примените border для элемента при наведении курсора мыши, он «раздвинет» окружающие элементы. Однако, используя отрицательное значение CSS-свойства margin, вы можете сделать это не затрагивая другие элементы или контент.

Давайте посмотрим пример, чтобы понять, как это в основном работает:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Add CSS Border on Hover without Moving the Elements</title>
<style>
    ul {
        padding: 0;
        list-style: none;
    }
    ul li { 
        float: left;
        margin: 10px;
    }
    ul li a, ul li a img {
        display: block;
    }
    ul li a:hover {
        border: 5px solid #333333;
        overflow: hidden;        
    }
    ul li a:hover img{
        margin: -5px;
    }
</style>
</head>
<body>
    <ul>
        <li><a href="#"><img src="club.jpg" alt="Club Card"></a></li>
        <li><a href="#"><img src="diamond.jpg" alt="Diamond Card"></a></li>
        <li><a href="#"><img src="spade.jpg" alt="Spade Card"></a></li>
        <li><a href="#"><img src="heart.jpg" alt="Heart Card"></a></li>
    </ul>
</body>
</html>

В качестве альтернативы вы можете установить border с той же шириной и значением цвета transparent для элемента по умолчанию. В контексте вышеприведенного примера это будет так: ul li a { border: 5px solid transparent; }. Теперь, при наведении будет изменяться цвет границы не меняя размеры элемента и не затрагивая окружающие элементы.

beget banner 480x320beget banner 728x90beget banner 120x600kwork banner 480x320kwork banner 728x90kwork banner 120x600jivo banner 480x320jivo banner 728x90jivo banner 120x600

Читайте также

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Как анимировать фоновый цвет элемента при наведении курсора мыши с помощью CSS

Вы можете использовать CSS-свойство transition, чтобы плавно анимировать background-color элемента при наведении курсора мыши. Давайте посмотрим пример, чтобы понять, как это работает:
Подробнее

Как определить или создать таблицу стилей только для Internet Explorer

Поддержка старых версий IE — головная боль для разработчиков сайтов. В большинстве случаев вы не сможете избежать этого из-за требований проекта или из-за того, что ваш клиент все еще использует старую версию Internet Explorer. Каждая версия IE ведет себя несколько иначе, чем другие. Первое, что нам нужно, это определить отдельные таблицы стилей для разных версий…
Подробнее

Как отключить выделение выделения текста в браузерах с помощью CSS

По умолчанию, когда вы выделяете текст в браузере, он обычно выделяется синим цветом. Но вы можете отключить это выделение с помощью псевдоэлемента CSS ::selection. В настоящее время браузеры поддерживают только небольшое подмножество CSS-свойств для псевдоэлемента ::selection, например color, background-color и text-shadow. Вот пример:
Подробнее