问题
Please tell me why :before pseudo-element doesn't behave like a regular img in this case:
Left one is div with an img inside and img's width and height are equals 100% . Right one is div with :before and :before's width and height are also 100% , but effect is different!
(I know i can use a background-image workaround , but what is wrong with :pseudo when its content property is url() ?)
Fiddle: http://jsfiddle.net/Tp9JG/4/
回答1:
Unfortunately you cannot control the size of the image when specifying it through content, But you can if you're using it as background:
.with_before:before{
content:'';
background-image: url('http://i.stack.imgur.com/CAAFj.jpg');
background-size: 100% 100%;
width: inherit;
height: inherit;
display: inline-block;
}
check this jsFiddle
And for your question why we can't style generated content: We can't because generated content is rendered into a generated box, and you can style that box, but not the content.
references:
- check this post
- another lengthy discussion on this subject
please notice that different browsers show very different behaviors.
来源:https://stackoverflow.com/questions/18482219/css-pseudo-element-size-issue