【发布时间】:2011-10-23 04:59:36
【问题描述】:
我正在尝试将background-image 和background-size 属性混合在一个简写的background 属性中。基于W3C documentation 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 说同样的话。我还找到了 this 和 this 关于速记 CSS3 背景属性的文章来解释这一点。
但这不起作用!当background-size 和background-position 具有background-position-x 和background-position-y 的两个不同值或background-size 具有相同的值时,如何制作速记background 属性也不清楚。目前尚不清楚斜线(/)是如何发生的? This example 在我的 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;
}
【问题讨论】:
-
当心 Safari 不支持背景大小的速记! Safari 不支持!将您的背景大小与背景分开,以防止 Safari 卡住它!
标签: css