轮廓被下一个元素隐藏

问题描述 投票:0回答:4

我有一行图像,每个图像都包含在一个链接中。

我希望当我将鼠标悬停时,每个图像周围都会出现虚线轮廓。

问题是,除了最后一张图像之外,RHS 上的轮廓都缺失了。

就好像图像与左侧图像的轮廓重叠。

当我悬停时,是否可以在所有 4 边上显示轮廓?

(我需要图像相互对接而没有间隙。)

我在 FF14、chrome、IE9 上尝试过这个。

http://jsfiddle.net/spiderplant0/P3WBG/

html css outline
4个回答
19
投票

最简单的方法是将

position: relative
分配给
a
元素,然后增加
z-index
a > img:hover
(而不是对
a:hover
进行样式化:

a > img {
    position: relative;
}

a > img:hover {
    outline: 3px dotted blue;
    z-index: 3000;
}

JS Fiddle 演示.


15
投票

只需将

position: relative; z-index: 1000
添加到他们的
:hover
风格:更新的小提琴

更新:实际上,您甚至不需要

z-index
,相对定位本身就可以实现您的目标。


0
投票

你可以做的是将每个图像边框设置为 1px 实线,无论背景颜色是什么,然后在

img:hover
上将边框设置为你想要的。这是我正在谈论的工作 jsFiddle:
http://jsfiddle.net/P3WBG/12/


0
投票

这是一个简单的代码片段

<!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            .box{
                border: 3px solid #0A5C36;
                padding: 2px;
                float: left;
                height: 30px;
                width: 100px;
                position: relative;
            }
            #box2{
                outline: 2px dotted red;
                z-index: 2;
            }
            #box1{
                z-index: 1;
            }
            #box3{
                z-index: 1;
            }
        </style>
    </head>
    <body>
        <div id="box1" class="box"></div>
        <div id="box2" class="box"></div>
        <div id="box3" class="box"></div>

    </body>
</html>
© www.soinside.com 2019 - 2024. All rights reserved.