【问题标题】:Mouseover image pulls other images down鼠标悬停图像拉下其他图像
【发布时间】:2014-04-23 16:14:11
【问题描述】:

我在制作网站的图片时遇到了这个问题。我一直在尝试不同的方法来解决它,这是迄今为止我发现的最好的方法。不过,这不是我需要的。我有 8 个按钮,我需要将第二个按钮替换为更大的图像。问题是,它把其他人拉下来,我希望它超过他们。有没有办法做到这一点?这就是我在编码中所做的:

<a href="index.html">
<input type="image" src="hp-homebutton.png" alt="submit" style="position: relative;" value="Home Button"/> </a> <p>
<img src="hp-monthsbutton.png" onmouseover="this.src='hp-months.png'" onmouseout="this.src='hp-monthsbutton.png'" style="position: relative;"/> <p>
<img src="hp-forumbutton.png" style="position: relative;"/> <p>
<img src="hp-newsbutton.png" style="position: relative;"/> <p>
<img src="hp-contactbutton.png" style="position: relative;"/> <p>
<input type="image" src="hp-eventsbutton.png" alt="submit" style="position: relative;" value="Events Button" onclick="showImage();"/> <p>
<img src="hp-gallerybutton.png" style="position: relative;"/> <p>
<img src="hp-extrasbutton.png" style="position: relative;"/> <p>

【问题讨论】:

    标签: html image mouseover


    【解决方案1】:

    现在我正确理解了您想要实现的目标,您需要将图像包装在元素内,并为该父级提供固定高度。然后您可以将z-index 添加到您的图像中,以确保正确的图像出现在顶部。看看下面的demo,我稍微修改了你的HTML来演示原理。

    JSFiddle Demo

    HTML

    <ul>
        <li><a href="index.html"><img src="http://s21.postimg.org/hzb9gge93/hp_homebutton.png" alt="Home" /></a></li>
        <li><a href="#"><img src="http://s21.postimg.org/bbentuuqv/hp_monthsbutton.png" alt="Months" onmouseover="this.src='http://s21.postimg.org/8ssyt690n/hp_months.png'" onmouseout="this.src='http://s21.postimg.org/bbentuuqv/hp_monthsbutton.png'" class="months" /></li>
        <li><a href="#"><img src="http://s21.postimg.org/rer4tnw9z/hp_forumbutton.png" alt="Forum" /></li>
        <li><a href="#"><img src="http://s21.postimg.org/ig12gmrdz/hp_newsbutton.png" alt="News" /></li>
    </ul>
    

    CSS

    ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    
    ul li {
        clear: both;
        height: 54px;
    }
    
    ul li img {
        position: relative;
        z-index: 1;
    }
    
    ul li .months {
        z-index: 2;
    }
    

    【讨论】:

    • 我尝试按照您的建议进行操作,但我仍然发现编码存在一些问题。问题是,如果我将图像位置更改为绝对位置,但这只会让其他人覆盖它。 &lt;div style="position: relative;"&gt; &lt;img src="hp-monthsbutton.png" onmouseover="this.src='hp-months.png'" onmouseout="this.src='hp-monthsbutton.png'" style="position: absolute;"/&gt; &lt;p&gt; &lt;/div&gt;
    • @Caracks 你能创建一个JSFiddle 来演示这个问题吗?然后我将能够为您提供进一步的帮助。
    • 好的,我创建了一个显示问题的 JSFiddle。 jsfiddle.net/LB24X 如您所见,第二张图片是position: absolute,让其他人覆盖了它。您仍然可以让鼠标悬停图像出现并在其他图像下看到它。
    • @Caracks 好的,我明白你现在想做什么。我已经编辑了我的答案,向您展示了做到这一点的最佳方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    • 2017-07-16
    相关资源
    最近更新 更多