Делаю блок с постером. При наведении по макету должен появляться бордер, но не должен смещать при этом ни содержимое блока, ни увеличивать его размер.
В моём же случае, изменяется положение содержимого, сдвигается на 2px (толщина обводки).
Попробовал box-sizing, не помогло.
Подскажите, возможно ли это?
Меняйте цвет бордера с transparent на нужный цвет
div{
width: 100px;
height: 100px;
background-color: gray;
border: 10px solid transparent;
}
div:hover{
border: 10px solid red;
}
<div></div>
Вариант с тенью
div{
width: 100px;
height: 100px;
background-image: url("http://img.clipartall.com/emotion-smiley-faces-clip-art-clipart-best-emotion-faces-clip-art-631_632.jpg");
background-repeat: no-repeat;
background-size: cover;
margin: 10px;
overflow: hidden;
}
div:hover{
box-shadow: 0 0 2px 2px red;
}
<div></div>
Вам нужно свойство outline
В отличие от линии, задаваемой через border, свойство outline не влияет на положение блока и его ширину.
.test {
background: #999;
height: 100px;
width: 100px;
}
.test:hover {
outline: 4px solid red;
}
<div class="test"></div>
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники