【问题标题】:How do I resize an image in a pseudo-element?如何调整伪元素中的图像大小?
【发布时间】:2013-10-15 18:28:45
【问题描述】:

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

我正在展示一个排名,我希望在获胜者的头顶上展示一个皇冠,在图片所在的方框角上倾斜 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 但没有效果。

【问题讨论】:

标签: html css pseudo-element css-content


【解决方案1】:

既然您已经在使用转换,那就更进一步。使用它们来移动和重新缩放图像:

.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

【讨论】:

  • 不错! -moz-transform 后面缺少右括号。
  • @showdev 谢谢!我在复制粘贴中错过了这一点。你可以猜到,我正在使用 Chrome。
  • 我会接受你的正确答案,但你能进一步帮助我吗?在我的代码中它甚至没有显示,我不知道为什么。 jsfiddle.net/FdT7N/2
  • 图像上不能有伪元素。请改用容器 div。 jsfiddle.net/FdT7N/3
  • 哦,这么简单。非常感谢:D
【解决方案2】:

您可以通过将图像设置为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);
}

【讨论】:

猜你喜欢
  • 2017-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-20
相关资源
最近更新 更多