jQuery 移动优先于其他 CSS

jQuery Mobile overriding other CSS

我的任务是更改 Web 应用程序构建的设计 around/utilizing jQuery 移动版,以便它更适合桌面浏览器。我不想立即删除所有 jQuery Mobile,而是随着时间的推移进行转换。整个网络应用程序使用一个页面和一堆子页面,所以我为桌面版本创建了一个使用相同子页面的新页面,因为这允许我为页面使用不同的 css 文件。
我的问题是我应用到 'non-mobile' 页面的所有 css 都被 jQuery Mobile(一堆 css 文件)覆盖。正如我所说,我实际上并不想一次删除所有这些 css 文件,因为我会留下一个原始的 html 页面,没有子页面之间的页面转换等 - 我什至可能想保留长 运行 中的一些 jQuery css,例如 header。
我现在看到的主要问题是,很多元素都被赋予了 class 属性,例如 ui-btnui-select 等,而我实际上没有在 html 中声明它。这意味着即使我有一个定义按钮外观的 css 文件,jQuery Mobile 也会以某种方式向 class 属性添加 ui-btn 和其他一些东西运行time - 最终覆盖我的 .button class 或以某种混合结束。

我的问题很笼统,因为我有很多代码,不知道要参考什么;如何确保我的元素仅根据我专门指定的 classes 设置样式?

本质上我想保留我的 jQuery 移动设备,但将 ui-btn 之类的东西作为标准 css class 选择器(而不是所有按钮的神奇东西显然默认继承自),所以我实际上必须为元素声明 class="ui-btn" 以继承该样式。

如果没有一些代码参考,如果这是无法回答的,请告诉我,我只是希望得到一些通用的提示:)

link 你 css 文件在 JQuery 移动文件之后,并在你的 css 上使用 !important 来强制浏览器像这样使用它们:

color: red !important;

与其他 jQuery 项目不同,例如 jQuery 和 jQuery UI,jQuery Mobile 会在加载后立即自动应用许多标记增强功能(早在 document.ready 事件触发之前)。这些增强功能是基于 jQuery Mobile 的默认设置应用的,这些设置旨在处理常见情况。如果需要更改设置,它们很容易配置。

当 jQuery Mobile 启动时,它会触发文档对象上的 mobileinit 事件。
尝试找出代码中发生这种情况的位置,并可能在您使用桌面浏览器的情况下阻止它发生。

编辑: 它很可能在您的 jquery-mobile.js 文件中完成,通常脚本链接如下:

<script src="jquery.js"></script>
<script src="custom-scripting.js"></script>
<script src="jquery-mobile.js"></script>  

尝试更改此顺序,以便在 jquery-mobile.

之后加载您的自定义脚本