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;
}
background-imageinstead ofbackgroundThis works in Opera : http://jsfiddle.net/ZNsbU/5/
But it doesn’t work in FF5 nor IE8. (yay for outdated browsers 😀 )
Code :
You could do it like this :
Which works in FF5 and Opera but not in IE8.