请告诉我为什么伪元素在这种情况下:before
不像常规元素:img
左边是div
一个img
内部,img
宽度和高度等于 100% 。右一个是div
with:before
和:before
的宽高也是 100% ,但是效果不一样!
(我知道我可以使用一种background-image
解决方法,但是:pseudo
当它的content
属性是时有什么问题url()
?)
小提琴:http: //jsfiddle.net/Tp9JG/4/
请告诉我为什么伪元素在这种情况下:before
不像常规元素:img
左边是div
一个img
内部,img
宽度和高度等于 100% 。右一个是div
with:before
和:before
的宽高也是 100% ,但是效果不一样!
(我知道我可以使用一种background-image
解决方法,但是:pseudo
当它的content
属性是时有什么问题url()
?)
小提琴:http: //jsfiddle.net/Tp9JG/4/
不幸的是,通过内容指定图像时,您无法控制图像的大小,但如果您将其用作背景,则可以:
.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;
}
检查这个jsFiddle
对于您的问题,为什么我们不能为生成的内容设置样式:我们不能,因为生成的内容被渲染到生成的框中,您可以设置该框的样式,但不能设置内容的样式。
参考:
请注意,不同的浏览器表现出非常不同的行为。