HTML/CSS 用悬停效果在网格中对齐图像
HTML/CSS Align Images in a grid with hover effect
我制作了一个图像网格,并通过 CSS 我将它们全部居中对齐,在网格中彼此靠近。
一旦我通过将鼠标悬停在上方来添加悬停以进行缩放,图像就不再对齐,而是一个在另一个下方。
HTML代码是这样的:
.section-wrap img:hover {
width: 120px;
height: 120px;
margin: 0;
}
.section-wrap img {
display: block;
border: 0;
}
.section-wrap {
padding: 120px 0;
position: relative;
background-size: cover;
background-position: center;
}
<section class="section-wrap bg-dark-overlay" style="background-image: url(img/background_abstract_test.png);">
<div class="container" id="brands">
<div class="title-row text-center">
<p class="subtitle">Unsere Top Marken</p>
<br>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
</div> <!-- end slider -->
</div>
</section>
我也试过把悬停效果写在一个新的class里,单独回忆一下,还是不行。
有什么想法吗?
我认为悬停效果不能覆盖内联宽度 - 高度属性。
将默认样式移动到 css 文件可能会解决这个问题。
.section-wrap img {
width: 100px;
height: 100px;
margin: 0;
}
.section-wrap img:hover {
width: 120px;
height: 120px;
margin: 0;
}
.section-wrap img {
display: block;
border: 0;
}
.section-wrap {
padding: 120px 0;
position: relative;
background-size: cover;
background-position: center;
}
<section class="section-wrap bg-dark-overlay">
<div class="container" id="brands">
<div class="title-row text-center">
<p class="subtitle">Unsere Top Marken</p>
<br>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
</div> <!-- end slider -->
</div>
</section>
您将图片设置为 display: block
,这将强制它们在另一张下方可见。以下效果更好,但调整其中一个大小时的对齐方式不是最漂亮的:
.section-wrap img:hover {
width: 120px;
height: 120px;
margin: 0;
}
.section-wrap img {
/* changed this: display: block; to: */
display: inline-block;
border: 0;
}
.section-wrap {
padding: 120px 0;
position: relative;
background-size: cover;
background-position: center;
}
<section class="section-wrap bg-dark-overlay" style="background-image: url(img/background_abstract_test.png);">
<div class="container" id="brands">
<div class="title-row text-center">
<p class="subtitle">Unsere Top Marken</p>
<br>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
</div> <!-- end slider -->
</div>
</section>
这是因为您将图像显示更改为块状。
要修复它,您可以将显示更改为内联块:
.section-wrap img {
display: inline-block;
border: 0;
}
为了使它们更靠近彼此,您可以将浮动设置为左侧,这有助于您将它们设置为彼此靠左。像这样:
.section-wrap img {
display: inline-block;
float: left;
border: 0;
}
我制作了一个图像网格,并通过 CSS 我将它们全部居中对齐,在网格中彼此靠近。 一旦我通过将鼠标悬停在上方来添加悬停以进行缩放,图像就不再对齐,而是一个在另一个下方。 HTML代码是这样的:
.section-wrap img:hover {
width: 120px;
height: 120px;
margin: 0;
}
.section-wrap img {
display: block;
border: 0;
}
.section-wrap {
padding: 120px 0;
position: relative;
background-size: cover;
background-position: center;
}
<section class="section-wrap bg-dark-overlay" style="background-image: url(img/background_abstract_test.png);">
<div class="container" id="brands">
<div class="title-row text-center">
<p class="subtitle">Unsere Top Marken</p>
<br>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
</div> <!-- end slider -->
</div>
</section>
我也试过把悬停效果写在一个新的class里,单独回忆一下,还是不行。 有什么想法吗?
我认为悬停效果不能覆盖内联宽度 - 高度属性。 将默认样式移动到 css 文件可能会解决这个问题。
.section-wrap img {
width: 100px;
height: 100px;
margin: 0;
}
.section-wrap img:hover {
width: 120px;
height: 120px;
margin: 0;
}
.section-wrap img {
display: block;
border: 0;
}
.section-wrap {
padding: 120px 0;
position: relative;
background-size: cover;
background-position: center;
}
<section class="section-wrap bg-dark-overlay">
<div class="container" id="brands">
<div class="title-row text-center">
<p class="subtitle">Unsere Top Marken</p>
<br>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
<a href="link" target="_blank"><img src="img" /></a>
</div> <!-- end slider -->
</div>
</section>
您将图片设置为 display: block
,这将强制它们在另一张下方可见。以下效果更好,但调整其中一个大小时的对齐方式不是最漂亮的:
.section-wrap img:hover {
width: 120px;
height: 120px;
margin: 0;
}
.section-wrap img {
/* changed this: display: block; to: */
display: inline-block;
border: 0;
}
.section-wrap {
padding: 120px 0;
position: relative;
background-size: cover;
background-position: center;
}
<section class="section-wrap bg-dark-overlay" style="background-image: url(img/background_abstract_test.png);">
<div class="container" id="brands">
<div class="title-row text-center">
<p class="subtitle">Unsere Top Marken</p>
<br>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
<a href="link" target="_blank"><img src="https://via.placeholder.com/150" width="100" height="100"></a>
</div> <!-- end slider -->
</div>
</section>
这是因为您将图像显示更改为块状。 要修复它,您可以将显示更改为内联块:
.section-wrap img {
display: inline-block;
border: 0;
}
为了使它们更靠近彼此,您可以将浮动设置为左侧,这有助于您将它们设置为彼此靠左。像这样:
.section-wrap img {
display: inline-block;
float: left;
border: 0;
}