最佳答案
我试图混合 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-size
和 background-position
对于 background-position-x
和 background-position-y
有两个不同的值,或者对于 background-size
有相同的值,那么如何创建一个简写的 background
属性也是不清楚的。不清楚斜线(/
)是如何发生的?我的 Chrome15没有使用 这个例子。
例如,我试图做一个简短的 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;
}