我正在使用jquerymobile为iOS构建PhoneGap应用程序,我尝试更改jquerymobile的背景但我不能。 这是我的html源代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.1/jquery.mobile-1.2.1.min.css" />
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.1/jquery.mobile-1.2.1.min.js"></script>
<script type="text/javascript" src="../../js/cordova-2.5.0.js"></script>
<link rel="stylesheet" href="mainUI.css"/>
</head>
<body>
<div data-role="page" id='mypage'>
<div data-role="header" data-position="fixed">
<h1>Page Title</h1>
<a data-role="button" data-rel="back">back</a>
</div><!-- /header -->
<div data-role="content">
content
</div><!-- /content -->
<div class="my-footer" style="background-color: #00FF00;" data-role="footer" data-position="fixed">
<div class="my-tabbar">
MYTEST div
</div>
</div>
</div><!-- /page -->
</body>
</html>
这是我的自定义CSS文件:
.my-footer {
background-color: #ff0000;
}
.my-footer .my-tabbar{
background-color: #ff0000;
}
.my-tabbar{
background-color: #ff00ff;
}
当我在Chrome浏览器上运行此html时,我工作了。但是当我在iPhone5设备上运行时却没有。 请帮忙。
答案 0 :(得分:2)
您需要使用实际的jQuery页脚移动选择器。您可以在iPhone上使用Safari Web检查器查找任何内容的确切选择器,并在您自己的样式表中进行相应更改。
以下是我认为可以胜任的一些选择器:
.ui-bar-a.ui-footer {
/*Change background here */
}
P.S在您的样式表中,如果您想覆盖jQuery mobile,请使您的选择器更具体。 所以而不是......
.ui-bar-a.ui-footer {
/*Change background here */
}
使用.... 强>
.my-footer.ui-bar-a.ui-footer {
/*Change background here */
}
或.... 强>
.home-page .ui-bar-a.ui-footer {
/*Change background here */
}
答案 1 :(得分:2)
感谢我的同事,我终于找到了根本原因。当我用PC浏览器测试这个html文件时,我双击它。因此它作为普通的html文件运行,它将在<header>
标记内加载所有声明的资源。但是,当我在iPhone上测试时,我使用$.mobile.changePage()
从另一个页面导航到此html文件,这将仅加载<body>
标记的内容。在这种情况下,我的css
文件未加载。这就是我的网页无法在iPhone上运行的原因。
因此,要解决此问题,我只需要将所有资源声明(在<head>
内)移到<body>
标记的底部。通过这种方式,将始终加载资源文件。
希望这有帮助。
答案 2 :(得分:-1)
为什么还要手动编辑CSS并弄乱框架。 JQuery Mobile提供了一个优雅的解决方案来更改JQM元素的颜色主题,如页眉,页脚,按钮等。
您听说过Theme Roller吗?主题滚轮将允许您将yoru选择的颜色导入UI元素。添加颜色并将css文件导入项目,并将data-theme
元素更改为您在主题滚轴中使用的样本。
我个人在Swatch“g”之后推荐你的自定义主题,并在jQuery mobile css文件之前导入你的css文件。