如何在伪元素中调整图像大小?

时间:2013-10-08 17:27:42

标签: html5 css3 pseudo-element css-content

我正在尝试使用伪元素做一些技巧。

我正在展示排名,我希望冠军能够在胜利者的顶部展示,在图像所在的角落倾斜45度。但是图像太大了,有没有办法让我调整伪元素上添加的图像的大小?

我只有div

<div class='box'></div>

使用此CSS

.box {
    width: 50px;
    height: 50px;
    float: left;
    border: 1px solid #000;
    position:absolute;
    top: 100px;
    left: 100px;
}

.box::after{
    content: url(URL_OF_IMAGE);
    position: absolute;
    top: -10px;    
    right: -10px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
}

我在JSFiddle上做了一个例子:http://jsfiddle.net/GEtds/

我尝试改变heightwidth,但没有效果。

2 个答案:

答案 0 :(得分:5)

您可以将图片设置为background-image,并与background-size: cover;结合使用,这样您就可以通过设置widthheight来控制图片的大小关于伪元素。您还需要添加content: "";以确保呈现伪元素。

这是 jsFiddle

<强> CSS

.box::after {
    display: block;
    content: "";
    background-image: url(http://www.clker.com/cliparts/9/5/e/b/12428065451316964828Simple_crown_icon.svg.med.png);
    background-size: cover;
    position: absolute;
    top: -10px;
    right: -10px;
    width: 40px;
    height: 40px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
}

答案 1 :(得分:5)

由于您已经在使用转换,请更进一步。使用它们移动和重新缩放图像:

.box::after{
    content: url(http://www.clker.com/cliparts/9/5/e/b/12428065451316964828Simple_crown_icon.svg.med.png);
    position: absolute;
    top: -10px;
    right: -10px;
    width: 0.1em;
    height: 0.1em;
    -webkit-transform: translateY(-35px) rotate(45deg) scale(0.2);
    -moz-transform: translateY(-35px) rotate(45deg) scale(0.2);
}

updated fiddle