我试图在html中将伪类放在图像之后,但它不起作用。这就是我所做的:
<img src="image.png" class="item-portfolio" alt="portfolio item">
CSS
.item-portfolio img:after{
content: url(images/shadow.png) no-repeat;
position: absolute;
right: 8px;
top: 0;
}
.item-portfolio p:before{
content: url(images/shadow.png) no-repeat;
display: block;
position: absolute;
left: 6px;
top: 0;
}
在图像之后设置此图像是否可行?
答案 0 :(得分:5)
img
元素是替换元素,the HTML spec具体说明:
请注意。该规范没有完全定义交互 :before和:after with replacement elements(例如HTML中的IMG)。这个 将在未来的规范中更详细地定义。
因此,不应将此类伪元素用于img
。
抵消这种情况的方法是将图像包装在父元素中,并将:before/after
应用于该元素。
More on replaced elements from MDN
在CSS中,替换元素是其表示形式的元素 超出CSS的范围。这些是外部物体 表示独立于CSS。典型的替换元素 是
<img>
,<object>
,<video>
或表单元素<textarea>
,<input>
。一些元素,如或被替换元素 仅在特定情况下。使用CSS内容插入的对象 属性是匿名替换元素。
答案 1 :(得分:1)
<强> SCRIPT 强>
$('img')
.before('<span> Before</span>')
.after('<span> After</span>');
通过Jquery你可以在之前和之前插入
答案 2 :(得分:1)