0

我在页面上显示一个图像,我希望添加一个蒙版来实现特定的边框和角落效果。

为此,我希望以下列方式使用伪元素:

img
{
    height: 58px;
    left: 0;
    position: absolute;
    top: 0;
    width: 58px;
    z-index: 1;

    &:after
    {
        background-image: url(images/frame.gif);
        content: " ";
        height: 58px;
        left: 0;
        position: absolute;
        top: 0;
        width: 58px;
        z-index: 2;
    }
}

但面具图像永远不会出现。我还尝试添加一个负的左边距和上边距来“拉”伪元素,<img>但仍然没有。

我的 CSS 中是否有明显的错误,或者问题是否在于伪元素的固有限制?

4

1 回答 1

2

默认情况下,img标签是一个内联元素,它不是添加after伪类的容器。我会建议以下代码:

div.container {
    img {
        display: block;
        height: 58px;
        left: 0;
        position: absolute;
        top: 0;
        width: 58px;
        z-index: 1;
    }
    &:after {
        display: block;
        background-image: url(images/frame.gif);
        content: " ";
        height: 58px;
        left: 0;
        position: absolute;
        top: 0;
        width: 58px;
        z-index: 2;
    }
}

请注意,伪类也是一个块元素。

于 2013-11-05T11:49:31.937 回答