我想混background-image
,并background-size
在缺兵少将的性能background
特性。基于W3C的文档 background-size
应background-position
以斜杠(/
)分隔属性之后。
W3C示例:
p { background: url("chess.png") 40% / 10em gray round fixed border-box; }
等效于:
p { background-color: gray; background-position: 40% 50%; background-size: 10em 10em; background-repeat: round round; background-clip: border-box; background-origin: border-box; background-attachment: fixed; background-image: url(chess.png) }
MDN说了同样的话。我也发现了这个和这个文章关于速记CSS3的背景属性解释这一点。
但这是行不通的!它也并不清楚如何做一个速记background
属性时background-size
,并background-position
有两个不同的值background-position-x
,并background-position-y
用于或同样的事情background-size
。尚不清楚slash(/
)是如何发生的?此示例在我的Chrome 15中无法正常运行。
我试图简化的示例是此CSS代码:
div {
background: url(http://www.placedog.com/125/125)
0 0 / 150px 100px
repeat no-repeat
fixed border-box padding-box blue;
height: 300px;
width:360px;
border: 10px dashed magenta;
}
一个更清洁的例子
这正在工作(JSFiddle)
body{
background-image:url(http://www.google.com/intl/en_com/images/srpr/logo3w.png);
background-position:200px 100px;
background-size:600px 400px;
background-repeat:no-repeat;
}
这不起作用(jsfiddle)
body{
background:url(http://www.google.com/intl/en_com/images/srpr/logo3w.png) 200px 100px/600px 400px no-repeat;
}
这也行不通(jsfiddle)
body{
background:url(http://www.google.com/intl/en_com/images/srpr/logo3w.png) 200px/400px 100px/600px no-repeat;
}
3
当心Safari不支持背景大小的速记!Safari不支持!将背景尺寸与背景分开放置,以防止Safari窒息!
—
杰夫