答案:使用负 CSS 边距
如果您在鼠标悬停时在元素周围应用 border
,它会将周围的元素从其原始位置移动,这是默认行为。 然而,使用负 CSS margin
值和一个小技巧,你可以很好地做到这一点,而不会影响其他元素或内容。
让我们尝试一个示例来了解它的基本工作原理:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>在不移动元素的情况下在悬停时添加 CSS 边框</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>
相关问题解答
以下是与此主题相关的更多常见问题解答: