- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 jQuery Mobile 的新手,据我了解,它包括两个不同的 css 部分:一个用于主题,另一个用于结构。
如果您需要为特定组件设置样式,您可以利用 Theme Roller(或创建您自己的),然后指定主题,如 data-theme="myTheme"
。相反,结构允许管理元素的排列方式、布局等。它在所有元素之间共享。
基于此,我想知道是否可以遵循一些规则,以便在需要时以正确的方式覆盖元素的结构。特别是,我的方法是找到链接到特定元素的 css 结构,将其复制并粘贴到我的自定义 css 结构中。显然,通过这种方式我可以影响不需要该自定义结构的其他元素的结构。
那么,实现这一目标的正确方法是什么?
编辑
基于@Gajotres 的回答。
.custom-btn
从何而来?我认为有必要防止其他按钮使用该颜色。我错了吗?但是在您的代码段中,按钮没有该类。
如果我打开 jQuery Mobile 提供的主题 css 文件,我可以看到一个结构。与结构 css 文件中包含的有什么区别?
最佳答案
jQuery Mobile 有 3 个 css 文件。我将使用 jQuery Mobile 1.3 作为引用点来写这个主题。
第一个 CSS 文件,也是一个主要的文件是:jquery.mobile-1.3.2.min.css
它包含 jQuery Mobile 结构和主题样式
第二个 CSS 文件只是 jQuery Mobile 结构文件,它包含构建页面和小部件结构所需的 CSS:jquery.mobile.structure-1.3.2.css
第三个仅包含主题样式,可用于创建新样本:jquery.mobile.theme-1.3.2.css
这是您需要了解的下一件事。 jQuery Mobile 只有 1 个主题,但有几个样本。
可以使用 data-theme=""
属性更改色板。不要问为什么不叫 data-swatch=""
。
如果您想了解更多关于这种差异的信息,请查看我的其他 answer .
您首先需要拥有一个工具,它会向您显示 jQuery Mobile HTML 和 CSS 结构。
对于 Firefox 浏览器,使用 Firebug 插件进行实时 HTML/CSS 操作。它将使您能够查看增强的页面标记、即时更改 CSS(如果您想在不手动执行更改的情况下查看应用更改时会发生什么,会更容易)并复制内部 HTML 结构。
Chrome 也有一个 firebug 插件,但你应该避开它。它是 Firefox firebug 的轻量级版本,同时 Chrome 有一个优秀的内置工具,称为“开发者工具”。可以使用 CTRL + SHIFT + I 组合轻松调用它。 Macintosh 用户可以使用以下组合打开它:Command + Option + i。
我的最终建议是坚持使用 Chrome 开发人员工具,Firebug 插件以极度耗费资源而著称。
考虑到这一点,您需要了解另一件事。您可以在此处看到基本的 jQuery Mobile 页面架构:
<div data-role="page">
<div data-role="header">
<!-- Inner content -->
</div>
<div data-role="content">
<!-- Inner content -->
</div>
<div data-role="footer">
<!-- Inner content -->
</div>
</div>
不是最终页面结果。在 pagecreate 事件之后(在 pageinit 事件之前)jQuery Mobile 触发 HTML 标记增强过程。所以最终结果看起来或多或少会有很大不同。
让我们看一个 jQuery Mobile 按钮示例,在增强之前它看起来像这样:
<a href="#" data-role="button">Link button</a>
增强后是这样的:
<div data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="c" data-disabled="false" class="ui-btn ui-shadow ui-btn-corner-all ui-btn-up-c" aria-disabled="false">
<span class="ui-btn-inner">
<span class="ui-btn-text">Classic HTML button</span>
</span>
<input type="button" value="Classic HTML button" class="ui-btn-hidden" data-disabled="false"/>
</div>
这就是为什么我们需要额外的工具才能看到最终的 HTML 结构。
有了这个可以进一步进行。
如果您想覆盖 jQuery Mobile CSS 定义,您需要学习使用 !important。虽然这通常很重要,但我们不能没有它。
假设我们想要更改按钮文本颜色(来自之前的按钮示例),我们会这样做:
.custom-btn .ui-btn-inner .ui-btn-text {
color: #013301 !important;
}
还有一件事,您可以随时更改原始的 jQuery Mobile 移动结构,但我建议您不要这样做。
如果您想了解更多有关此主题的信息,请查看我的博客 article 我在这里讨论这个主题(使用 jsFiddle 示例)。
这个答案也可以找到 here + 工作示例,更透明这是我的个人博客。
关于jquery - 覆盖 jQuery Mobile CSS 结构 : A rule of thumb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18822532/
$.mobile.pageContainer 是指包含其他虚拟页面的元素。它设置为 .所以我认为它可以改变。实际上,某些 JQM 方法 (changePage) 允许您为页面指定非默认页面容器。 J
如何在移动设备上更改方向时触发事件。 调整大小 在 iPod Touch 上运行良好,但在使用 Opera mobile 作为浏览器的移动设备上运行良好。 有关如何在 Opera mobile 上触发
我想为我拥有的装有 Windows Mobile 2003 的设备开发一些应用程序,但我不想为此寻找 Visual Studio 2003 的副本。我想知道是否可以将 Mobile 6 SDK 用于此
我试图阻止 jQuery Mobile 在调用 changePage 时隐藏加载微调器。 程序流程是这样的,从点击一个链接开始,它的点击事件定义如下: $('body').delegate('.lib
我想为运行 Windows Mobile 5 的扫描仪开发应用程序。 MSDN 站点说要下载最新的 SDK(Windows Mobile 6 Professional SDK)。这会起作用还是我应该下
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我正在尝试使用 Jquery mobile 创建弹出菜单,通过单击按钮,它应该在不更改页面的情况下弹出菜单选项,类似于 jquery mobile 的选择菜单。在 JQM 中有没有办法做到这一点? 谢
在移动设备中,当我打开我的页面并选择一个输入框时,虚拟键盘打开,页面自动滚动以将输入框置于中心。 我不想要这个 Action 。 我搜索了很多答案,其中大多数建议在调整大小事件中手动调用以下 java
jQuery 移动列表中是否可以有多个拆分按钮? 我试过这样做: 1 但它不起作用。将链接包装在 中也不行.我做错了什么,
我想从我的 .js 文件中打开 .html 文件。所以我使用了 $.mobile.changePage("file.html")。在file.html 中有file.js。但是 file.js 在调用
我们有许多使用 Windows Mobile 6 的用户,需要应用较小的更改。例如。更新注册表设置。一种选择是使用我们的设备管理软件推送和执行可执行文件。 我希望这对熟悉 VBScript/JScri
我在PHP网站上有一个日期字段,并且我正在使用jQuery Mobile作为移动网站。 在移动浏览器(例如android上的firefox mobile)上浏览网站时,单击日期文本输入时,会出现日历对
我正在构建一个PhoneGap + JQuery Mobile应用程序,但似乎无法阻止它通过双击放大。我按照http://www.tricedesigns.com/2012/01/17/mobile-
随着 jQuery Mobile 1.3 的到来,.navigate()已添加功能。我听说这是更改页面的推荐方法,似乎他们解决了在页面之间传输数据的问题。 问题是,既然已经简化了,我该如何访问 cha
我想得到一个 input文本区域和 submit按钮附在它的右侧。 理想情况下,两者将使用 100% 的宽度并且并排放置。 我一直在尝试玩弄ui-grid-a和类似的选择,但一切都失败了。你可以看到一
我正在使用 jquery-mobile,我有这两个按钮: Pro: Reset 我希望它们并排显示(内联)。但我想不通。我做了this但它不起作用。你能帮我吗 ?这是我的 CSS:
我正在为 Windows Mobile 6.5 (Samsung Omnia II i8000) 开发 native 应用程序。进行一些更改后,我的应用程序在运行时挂起。 问题是我的应用程序也在启动期
有没有办法从周围和图标中删除背景光盘(圆圈)?我找到的光盘的唯一引用如下 background: rgba(0,0,0,.4) /*{global-ic
jQuery 移动版虽然在很多方面都很棒,但有时也令人沮丧。在这种情况下,我试图动态创建库中非常好的按钮之一。 基本上我想要做的是在输入字段中输入文本,当按下空格键时,它会创建一个带有文本的 jQue
我想在我的第 2 页上显示标题。使用以下内容是否有效: "> .... ? 最佳答案 这取决于你定义什么为“有效”
我是一名优秀的程序员,十分优秀!