android - Cordova 基于平台覆盖 css

标签 android css twitter-bootstrap cordova windows-phone-8

我使用 Bootstrap 和最新版本的 Cordova 来构建适用于 Android 和 Windows Phone 8 的应用程序。

我为我的主要顶级 View 定义了一个 Bootstrap navbar-fixed-bottom div。

在 Android 设备上,导航栏将覆盖窗口底部附近的内容。要解决这个问题,我需要指定一个 css 样式:

body {
    padding-bottom: 70px;
}

在 .css 文件中。

在 Windows Phone 8 上,导航栏似乎悬浮在页面上方 70 像素处。

按照 Cordova 文档中推荐的指南,我将一个 overrides.css 文件添加到两个平台的顶级“merges”文件夹中。 android的和上面一样,但是wp8文件指定了0px的padding-bottom。我还将 overrides.css 的空白副本添加到我的顶级/www 文件夹中。这种应用于正文的样式仅在 overrides.css 中定义。

然后我将 overrides.css 加载到我的主 index.html 文件中。

在我的 android 设备上加载代码时,“merges/android”目录中的 body 样式似乎没有得到应用。导航栏返回覆盖我页面的一部分,并且不允许我进一步向下滚动。

在 wp8 上它仍然漂浮在页面底部之上。

我尝试在 main.css 文件之前和之后加载 overrides.css。我还确保 main.css 中的任何内容都不会覆盖 body 属性。我还从我的顶级/www 文件夹中删除了空白的 overrides.css 文件。

似乎只有将 body css 放在顶级/www overrides.css 文档中,我才能让它工作。这不是我想要的,因为它应该被替换。

什么可能会阻止正确应用平台特定的主体样式?

最佳答案

如果您不想处理 CLI 合并功能,@thatrohit 的建议也适用,但我发现了解决该问题的方法。

事实证明,由 Cordova CLI 创建的合并文件夹必须与“/www”根文件夹下的所有内容具有相同的文件夹结构。

我试图覆盖的 .css 文件位于“/www/css”。

在 merges 文件夹中,我丢失了“/css”子文件夹并且有类似“merges/Android/overrides.css”的东西,而它应该是“merges/Android/css/overrides.css”。

关于android - Cordova 基于平台覆盖 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22490565/

相关文章:

android - LeakCanary 构建失败,构建类型不是调试或发布

css - Wordpress 中的菜单按钮/文本与粘性菜单未对齐

javascript - 为 Bootstrap Carousel 添加不同的效果

twitter-bootstrap - 如何在 Bootstrap - Carousel 中使图像缩放到全高?

Android MediaSession 回调。在耳机上将双击解释为 SKIP_TO_NEXT

android - 如何在 Android 上的 Glide 中显示数据库图像?

android - 程序类型已经存在 com google protobuf DescriptorProtos

javascript - 提交 HTML 文本表单?

html - fancyapps 的 Fancybox3 | iFrame 调整大小

javascript - Bootstrap 3.0 网格 - 如何垂直转置它们?