css - 根据设备方向更改图像

标签 css image cordova orientation media-queries

我正在为一家本地公司使用 PhoneGap 构建一个基本的网络应用程序。我在应用程序顶部为页眉/横幅创建了两个图像。一种针对纵向进行了优化,一种针对横向进行了优化。 我希望能够根据设备的握持方式显示其中任何一个。我一直在阅读媒体查询,坦率地说,它对我的​​需求来说有点过于复杂,因为 JQuery Mobile 会为我处理其余功能,而我只为整个应用程序使用一个 CSS。

有没有人可以添加几行简单的代码来帮助解决这个问题?

最佳答案

您可以使用 CSS 媒体查询进行纵向和横向方向,一点也不复杂:

@media screen and (orientation: portrait) { ... }
@media screen and (orientation: landscape) { ... }

使用这些媒体查询,您可以覆盖 background-image对于任何方向。

官方文档:http://www.w3.org/TR/css3-mediaqueries/#orientation

有两种使用方式:

假设您有 <div>与类 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>标签。在这种情况下,您将需要其中两个,并且仅使用 CSS 规则隐藏/显示一个。比方说,<img>标签有类 header-landheader-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; }
}

关于css - 根据设备方向更改图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14119580/

相关文章:

javascript - 无法删除 JQuery Accordion 标题之间的空格

html - 为什么这个选择器优先于更具体的选择器?

css - 使用angularjs单击提交按钮后如何在无效输入框中显示红色边框

java - 如何识别图像中的符号

android - 在后台运行应用程序 Cordova

javascript - 使 li 元素成为phonegap按钮

javascript - 无法将我的复选框设置为 `alignSelf: ' flex-end '` or ` right : 0`

android - 在 x,y 图像中设置图像

html - 将图像放置在其容器之外

Mac 上的 JavaScript XDate 无法识别本地时区