图像边框悬停不起作用

Image border hover won't work

我有一张位于屏幕中央的图像,我希望周围有一个边框,当鼠标悬停在该图像上时会改变颜色。正如您在下面的代码中看到的那样,我正在尝试这样做,但问题是图像一直是 link 但没有边框,怎么了?

html 代码:

<div id="container">

    <div id="content">

        <div class="10Img">
            <a href=""><img src="10Pimg.png" alt="10img" style="width:900px; height:200px"></a>
        </div>

    </div>


    </div>

css代码:

#content{
    padding-bottom: 200px;
    position: absolute;
    float: left;
    left: 50%;
    margin-left: -450px;
    top: 200px;
}

#container{
    height:100%;
}

.10Img{
    border: 2px solid grey;
}

.10Img a:hover{
    outline: 2px solid black;
}

试试这个:Demo

a img {
    border: 2px solid grey;
}
a img:hover {
    border: 2px solid black;
}

你的 css class 10Img 不起作用,因为 css class 名称不能以数字开头,参见:

Which characters are valid in CSS class names/selectors?

因此,如果您调用 class Img10 而不是 10Img,它应该可以工作。

<div id="container">
    <div id="content">
        <div class="Img10">
            <a href=""><img src="http://dummyimage.com/900x200/000/fff" alt="10img" style="width:900px; height:200px" /></a>
        </div>
    </div>
</div>

此外,您可能希望在 div 上使用 :hover 边框,而不是在 a 上:

#content{
    padding-bottom: 200px;
    position: absolute;
    float: left;
    left: 50%;
    margin-left: -450px;
    top: 200px;
}

#container{
    height:100%;
}

.Img10{
    border: 2px solid grey;
}

.Img10:hover{
    outline: 2px solid black;
}

这是一个有效的 fiddle: http://jsfiddle.net/k2Ld7yfe/

看到这个Demo

.Img{border: 2px solid grey;}
.Img a:hover{
outline: 2px solid black;}

注意:Class名称不能以整数开头。

命名规则参考This

主要问题是您的 class 名称以数字字符开头 10Img 并以字母字符开头。 前任。我将它从 10Img 更改为 aImg

那你就可以使用

.aImg  img {
 border: 2px solid grey;
}

或仅

.aImg {
     border: 2px solid grey;
    }