【发布时间】:2017-12-13 03:24:13
【问题描述】:
我有一个由 5 张图片组成的网格,其中一张比其他张大,而其中 4 张大小相同,并排成一个正方形。我有一个悬停效果适用于较大尺寸的图像,但是当我尝试使其他图像具有与不同文本相同的效果时,它不起作用。我该如何解决这个问题?
/*Navigation Bar*/
.hlogo {
text-align: center;
background-color: transparent;
width: 100%;
padding-top: 20px;
}
.hlogo a {
color: #092140;
text-decoration: none;
display: inline-block;
font-size: 50px;
font-family: 'Oswald', sans-serif;
}
.navbar {
background-color: transparent;
overflow: hidden;
text-align: center;
width: 100%;
}
.navbar a {
color: #092140;
text-decoration: none;
display: inline-block;
padding: 15px 10px;
padding-top: 5px;
font-family: 'Oswald', sans-serif;
font-weight: 300;
}
.navbar a:hover {
color: #F24738;
}
/* Grid */
.featured {
display: grid;
grid-template-columns: 25% 25% 25% 25%;
grid-template-rows: 50% 50%;
}
.featured>div {
text-align: center;
}
.fmain {
grid-column: 1 / span 2;
grid-row: 1 / span 2;
position: relative;
}
.fmain img {
width: 100%;
}
.main1 {
grid-column: 3 / span 1;
grid-row: 1;
}
.main1 img {
width: 100%;
}
.main2 {
grid-column: 4 / span 1;
grid-row: 1;
}
.main2 img {
width: 100%;
}
.main3 {
grid-column: 3 / span 1;
grid-row: 2;
}
.main3 img {
width: 100%;
}
.main4 {
grid-column: 4 / span 1;
grid-row: 2;
}
.main4 img {
width: 100%;
}
/* Overlay on images in grid */
.overlay {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: 100%;
width: 100%;
opacity: 0;
transition: .25s ease;
background-color: #F24738;
}
.hover-text {
color: white;
font-size: 20px;
position: absolute;
overflow: hidden;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
}
.fmain:hover,
.main1:hover .overlay {
bottom: 0;
height: 100%;
opacity: 1;
}
<div class="hlogo">
<a href="Home">Hidden Listen</a>
</div>
<!-- Header Links -->
<div class="navbar">
<a href="Home">Home</a>
<a href="Reviews">Reviews</a>
<a href="Artists">Artists</a>
</div>
<!-- Grid of Home page -->
<div class="featured">
<div class="fmain">
<img src="/img/Album Covers/marvel1.jpg" alt="Album Cover">
<div class="overlay">
<h1 class="hover-text">Text hover shit</h1>
</div>
</div>
<div class="main1">
<img src="/img/Album Covers/fantasy.jpg" alt="Album Cover">
<div class="overlay">
<h1 class="hover-text">Text hover shit</h1>
</div>
</div>
<div class="main2">
<img src="/img/Album Covers/No Dope on Sundays.jpg" alt="Album Cover">
</div>
<div class="main3">
<img src="/img/Album Covers/Scum Tyler.jpg" alt="Album Cover">
</div>
<div class="main4">
<img src="/img/Album Covers/syre.jpg" alt="Album Cover">
</div>
</div>
【问题讨论】:
-
当您将鼠标悬停在
fmain上时触发悬停,而不是单个图像。这是故意的吗? -
当我将鼠标悬停在第一张大图片上时,我希望该图片上方的区域可以将颜色与文字重叠,与其他四张图片相同。我有一个工作,这是较大的 fmain ,但我现在尝试这样做的方式是整个页面都被覆盖了。所以我想弄清楚的是如何让单个图片获得悬停效果。如果这有任何意义。
标签: javascript jquery html css hover