我有一张图片和文字一起放在一边,我想在悬停时或点击图片同时更改这两张图片。
我可以设法让图像和文本分开交换,但不能同时交换。
<body>
<div id="page-container">
<div class="box-container">
<div class="image-container">
<a href="#"><img src=".jpg" height="100" width="200"/></a>
</div>
<div class="second-image-container">
<a href="#"><img src=".jpg" height="100" width="200"/></a>
</div>
<div id="text">
<div id="text-box">
<p>This is some text</p>
<p id="more-text">This is some more text</p>
</div>
</div>
<div id="text-two">
<div id="text-box-two">
<p>This is some text</p>
<p id="even-more-text">This is some more text</p>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
div#text {
position: absolute;
background-color: black;
width: 350px;
height: 300px;
top: 10px;
right: -65px;
}
div#text p {
position: absolute;
color: white;
top: 100px;
left: 125px;
}
div#text-box p {
background-color: blue;
width:
}
div#text-box p#more-text {
background-color: red;
top: 65px;
left: 90px;
}
div.image-container {
opacity: 1;
position: absolute;
z-index: 500
}
div.second-image-container {
position: absolute;
top:;
opacity: 1;
z-index: 119
}
div#text-two {
position: absolute;
background-color: black;
width: 350px;
height: 300px;
right: -65px;
top: 10px;
}
div#text-box-two p {
position: absolute;
background-color: blue;
z-index: 10
}
div#text-box-two p#more-text {
background-color: red;
}
/*and the CSS that makes each individual image and text to swap:*/
div.image-container:hover, div#text:hover {
opacity: 0
}
答案 0 :(得分:5)
不要在每个div(图像容器和文本)的悬停上尝试执行此操作,而是更改包含div(box-container)悬停时的不透明度。 CSS看起来像这样:
.box-container:hover .image-container,
.box-container:hover #text {
opacity: 0;
}
答案 1 :(得分:2)
答案 2 :(得分:2)
关于如何使用下面的文字创建图像,我花了2美分,其中悬停任一个图像会将图像提升15px。文本保留在自己的位置。直接从我的网站上获取,因此可能需要编辑以供个人使用。
CSS:
.menu_imgdiv
{
display:inline-block;
padding-top:20px;
padding-left:20px;
padding-right:20px;
}
.menu_imgdiv p
{
padding-top:4px;
text-align:center;
font-size:larger;
}
.menu_img
{
width:128px;
height:128px;
}
.menu_imgdiv:hover .menu_img,
.menu_imgdiv:hover .menu_imgdiv p
{
margin: -15px 0px 15px;
}
HTML:
<div id="tm_header">
<a href="#/"> <div class="menu_imgdiv">
<img class="menu_img" src="images/home.png" />
<br /> <p>Homepage</p> </div> </a>
</div>
答案 3 :(得分:1)
您可以将文本和图像合成一个图像,并将其转换为下面的图像(在相同的jpeg,gif或png中),然后使用:hover功能更改图像的背景位置。 / p>
css将是:
div.imagecontainer {
width:50px;/*be sure to specify a height & width*/
height:50px;
background:url(images/example.jpeg);
background-position:0px 0px;
overflow:hidden;
}
div.imagecontainer:hover {
background-position:0px -50px;
}
这将消除对第二张图像的需要。如果你使用这种技术,一定要添加一个段落元素,其中包含你要写入的文本,并使用visibility:hidden;的z-index:-100;或文字缩进:1000px;溢出:隐藏;隐藏它。
答案 4 :(得分:0)
图片
div { background:url('http://www.placehold.it/200x200/f2f2f2') no-repeat; }
悬停时显示不同的图像
div:hover { background:url('http://www.placehold.it/200x200/666666') no-repeat; }
如果元素是一个锚点或者用它定义了一些onclick函数..在select中使用新类显示不同的图像
div.selected { background:url('http://www.placehold.it/200x200/000000') no-repeat; }