2

我正在尝试使用 css 在我的图像上覆盖一个轮廓,但轮廓没有显示出来。如果我用背景颜色替换轮廓,它可以正常工作,但它没有达到我想要的框架效果。我也尝试过使用边框,但这增加了 div 的大小,所以它也不起作用。我需要覆盖 div 的高度和宽度为 100%,因为图像大小是动态的。

<figure class="visual-thumbnail" style="overflow:hidden;position:relative;">
<div class="img-info"></div>

        <a href="http://innovationinhr.com/apploi/?p=351" class="thumbnail">
        <img width="326" height="434" src="http://innovationinhr.com/apploi/wp-content/uploads/2013/07/unknown-326x434.jpeg" class="attachment-visual-thumbnail wp-post-image" alt="Sharif">        



        </a>
    </figure>


figure{ display:block;overflow: hidden;
position: relative;width:326px;height:435px;}


.img-info {
outline: solid black 25px;
background-color: black;
left: 0;
top: 0;
opacity: 0;
position: absolute;
filter: alpha(opacity = 0);
width: 100%;
z-index: 1000;
height: 100%;
}
.visual-thumbnail:hover .img-info{
opacity:.5;
}

http://jsfiddle.net/P4nEK/1/

大纲不显示的任何原因?

4

2 回答 2

1

正如 MrLister 指出的那样,主要问题是您overflow:hidden在图中有问题。 这个小提琴显示了你想要工作的基本想法。

另外一点,z-index 只影响同一上下文中的元素。 是一篇关于它的非常好的文章。所以我认为你真正想做的是将另一个 div 放在图像下,让它在悬停时显示边框。为此,它们必须在相同的上下文中绘制,这意味着它们都需要具有该position属性。这是它的工作原理:http: //jsfiddle.net/P4nEK/6/

于 2013-07-19T13:32:47.703 回答
1

轮廓是不可见的,因为轮廓出现在元素之外。在这种情况下,由于元素 ( div) 与父元素 ( ) 一样大figure,它会出现在figure. 但是figureoverflow:hidden

解决方案:从图中删除两个overflow:hiddens。或将 放置div在其轮廓落在 内的位置figure

于 2013-07-19T12:59:00.607 回答