CSS3適合UA(iOS7等)に伴うbackground-sizeの指定順に注意
Updated / Published
iOS7のレンダリングエンジンからは、background
のショートハンドがCSS3仕様対応になりました。CSS3仕様のBackgrounds Shorthandを確認すると、backgorund-size
も同時に含められるようになっています。ショートハンドでは、値を省略した場合に省略した部分は初期値が適用されることになります。これにより次の場合に問題が発生します。
background-size
プロパティを先に書いて、backgroud
プロパティを後に書いている
background-size:320px auto;
background:#fff url(xx.png) 0 0 no-repeat;
この場合、background-size
プロパティの指定があとのbackgroudショートハンドのbackground
プロパティで上書きされます(つまり、background-size:auto auto;
を指定していることになる)。
解決策
background:#fff url(xx.png) 0 0 no-repeat;
background-size:320px auto;
と後に書くだけでOKです。もちろん、
background:#fff url(xx.png) 0 0 / 320px auto no-repeat;
とCSS3仕様の書き方をしても良いのですが、こちらはまだ対応していないUAが多いので注意してください。ちなみにデスクトップにおいても Safari は OS X Mavericks の Safari 7と Lion、Mountain Lion の Safari 6.1 からCSS3仕様対応になっているようです。
以上、各プロパティレベルでCSS2仕様適合UAとCSS3仕様適合UAが混在するようになってきているので、とくにスマフォサイト等は一度チェックされることをおすすめします。