0

我的图片库在滚动时工作正常,虽然在图片放大到的部分,我希望画廊中的第一张图片自动出现在那里,目前它只显示一个空白框,直到你将鼠标悬停在图片上.

<!DOCTYPE html>
<html lang="en">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="css.css"/>
<title>Welcome!</title>

</head>
<div id="wrapper">
<body>
<div id="header"> 
<div id ="logo">
<embed src="Media/Images/logo.svg" type="image/svg+xml" />
</div>

<div id="icons">
    <img src="Media/Images/EnvelopeIcon.png" alt="Envelope Icon" height="25" width="30">
    <p>M015734a@student.staffs.ac.uk</p>
    <div class="clear">     
    </div>
    <img src="Media/Images/PhoneIcon.png" alt="Envelope Icon" height="25" width="30" />
    <p> 07904921417</p>
    <div class="clear">     
    </div>
    <img src="Media/Images/HouseIcon.png" alt="Envelope Icon" height="25" width="30">
        <p>Stafford, UK</p>
    <div class="clear">     
    </div>              
<div class="clear">     
</div>
</div>
</div>

<nav>
<div id ="NavBar">
     <div id="Nav1">
     <div id="Triangle1"></div>
    <a href="E:/Program%20Files/Dropbox/Corsair%20Backup/Media%20For%20The%20Web/Assignment%20Part%202/Index.html"><h2>About Me</h2></a>
    </div>
    <div id="Nav2">
    <div id="Triangle2"></div>
    <a href="E:/Program%20Files/Dropbox/Corsair%20Backup/Media%20For%20The%20Web/Assignment%20Part%202/Education.html"><h2>Education</h2></a>
    </div>
    <div id="Nav3">
    <div id="Triangle3"></div>
    <a href="E:/Program%20Files/Dropbox/Corsair%20Backup/Media%20For%20The%20Web/Assignment%20Part%202/Portfolio.html"><h2>Portfolio</h2></a>
    </div>
    <div id="Nav4">
    <div id="Triangle4"></div>
    <a href="E:/Program%20Files/Dropbox/Corsair%20Backup/Media%20For%20The%20Web/Assignment%20Part%202/Interests.html"><h2>Interests</h2></a>
    </div>
    <div id="Nav5">
    <div id="Triangle5"></div>
    <a href="E:/Program%20Files/Dropbox/Corsair%20Backup/Media%20For%20The%20Web/Assignment%20Part%202/Contact.html"><h2>Contact Me</h2></a>
    </div>
</div>
</nav>
<article>
<section id = "content">
<h1>Portfolio Work</h1>
<div class="gallerycontainer">
<a class="thumbnail"><img src="Media/Images/Tardis.bmp" width="225px" height="125px" border="0" /><span><img src="Media/Images/Tardis.bmp" width="750px" height="450px"/><br />3DS Tardis Model.</span></a>
<br />
<a class="thumbnail"><img src="Media/Images/Main Station.png" width="225px" height="125px" border="0" /><span><img src="Media/Images/Main Station.png" width="750px" height="450px" /><br /></span></a>

<br />

<a class="thumbnail"><img src="Media/Images/Claymation1.JPG" width="225px" height="125px" border="0" /><span><img src="Media/Images/Claymation1.JPG" width="750px" height="450px"/><br />Sushi for dinner anyone?</span></a> 
<br/>

<a class="thumbnail"><img src="Media/Images/DSC_0245.jpg" width="175px" height="125px" border="0" /><span><img src="Media/Images/DSC_0245.jpg" width="500px" height="450px"/><br />Run wild with horses.</span></a>

<br />

<a class="thumbnail"><img src="Media/Images/DSC_0043 (3).JPG" width="225px" text-align="center" height="125px" border="0" /><span><img src="Media/Images/DSC_0043 (3).JPG" width="750px" height="450px"/><br />Run wild with horses.</span></a>

</div>
</section>
</section>
</article>
</div>
<footer>
</footer>
</body>
</html>


.gallerycontainer{
position: relative;
height: 250px;
/*Add a height attribute and set to largest image's height to prevent overlaying*/
}

.thumbnail img{
border: 1px solid white;
margin: 0 5px 5px 0;
}

.thumbnail:hover{
background-color: transparent;
}

.thumbnail span{ /*CSS for enlarged image*/
position: absolute;
background-color: lightyellow;
padding: 5px;
left: -1000px;
visibility: hidden;
color: black;
text-decoration: none;
}

.thumbnail span img{ /*CSS for enlarged image*/
padding: 2px;
}

.thumbnail:hover span{ /*CSS for enlarged image*/
background-color: #333;
visibility: visible;
top: 0;
left: 250px; /*position where enlarged image should offset horizontally */
z-index: 50;
}
4

1 回答 1

0

我不会隐藏第一个图像,而是给它一个低 z-index,以便其他图像漂浮在它上面。这仅在图像尺寸相同时才有效。

HTML

<div class="gallerycontainer">
    <a class="thumbnail"><img src="Media/Images/Tardis.bmp" width="225px" height="125px" border="0" /><span class="first"><img src="Media/Images/Tardis.bmp" width="750px" height="450px"/><br />3DS Tardis Model.</span></a>
<br />
<a class="thumbnail"><img src="Media/Images/Main Station.png" width="225px" height="125px" border="0" /><span><img src="Media/Images/Main Station.png" width="750px" height="450px" /><br /></span></a>

<br />

CSS

.thumbnail:hover span, .thumbnail span.first{ /*CSS for enlarged image*/
background-color: #FFF;
visibility: visible;
top: 0;
left: 250px; /*position where enlarged image should offset horizontally */
z-index: 50;
}

.thumbnail span.first
{
    z-index: 10 !important; /*Lower z-index for first one so others appear above it */
 }

更新

从你小提琴中的代码中,你在实现这个过程中错过了两件重要的事情:

  1. 注意这里的两个选择器(我的 CSS 代码片段的第一行).thumbnail:hover span, .thumbnail span.first:. 你只有你原来的选择器。-- 这将与“悬停”跨度相同的样式应用于“第一个”跨度
  2. 前导“。” 您的代码中缺少.thumbnail span.first- 这会调整“第一个”跨度的 z-index,因此其他跨度将出现在其上方。

更新 2

跨度需要背景颜色来掩盖第一张图像的文本。此外,如果图像具有透明度,但没有背景颜色,第一张图像将显示。更新小提琴显示了这一点。

示例小提琴

于 2012-12-10T01:02:25.333 回答