I'm trying to mix background-image
and background-size
properties in a shorthanded background
property. Based on W3C documentation background-size
should come after background-position
property separated with an slash(/
).
W3C example:
p { background: url("chess.png") 40% / 10em gray
round fixed border-box; }
is equivalent to:
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 says same thing. I also found this and this article about shorthand CSS3 background property explaining this.
But this is not working! It also is not clear how to make a shorthand background
property when background-size
and background-position
have two different values for background-position-x
and background-position-y
or same thing for background-size
. It's not clear how the slash(/
) takes place? This example is not working in my Chrome 15.
Example I tried to make a shorthand is this CSS code:
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;
}
A cleaner example
This is working (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;
}
This is not working (jsfiddle)
body{
background:url(http://www.google.com/intl/en_com/images/srpr/logo3w.png) 200px 100px/600px 400px no-repeat;
}
This is not working too(jsfiddle)
body{
background:url(http://www.google.com/intl/en_com/images/srpr/logo3w.png) 200px/400px 100px/600px no-repeat;
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…