縦向きと横向きの CSS メディア クエリを使用できますが、まったく複雑ではありません。
@media screen and (orientation: portrait) { ... }
@media screen and (orientation: landscape) { ... }
background-imageこれらのメディア クエリを使用すると、任意の向きをオーバーライドできます。
公式ドキュメント: http://www.w3.org/TR/css3-mediaqueries/#orientation
使用方法は 2 つあります。
<div>classを持っていると仮定しますheader:
@media screen and (orientation: portrait)
{
div.header { background-image:url(image1.jpg); }
}
@media screen and (orientation: landscape)
{
div.header { background-image:url(image2.jpg); }
}
<img>または、タグを使用することもできます。この場合、それらのうちの 2 つが必要になり、CSS ルールを使用して 1 つだけを表示/非表示にします。タグには<img>クラスがheader-landあり、header-portraitそれぞれ:
@media screen and (orientation: portrait)
{
.header-land { display:none; }
.header-portrait { display:inline-block; }
}
@media screen and (orientation: landscape)
{
.header-land { display:inline-block; }
.header-portrait { display:none; }
}