如何在 jQueryMobile 1.4.2 中使用格式化的内容设置单选按钮列表的样式

Posted

技术标签:

【中文标题】如何在 jQueryMobile 1.4.2 中使用格式化的内容设置单选按钮列表的样式【英文标题】:How to style Radiobutton list in jQueryMobile 1.4.2 with formatted content 【发布时间】:2014-04-07 21:51:32 【问题描述】:

我正在尝试在 jQueryMobile 1.4.2 中创建类似于以下内容的内容 - 即包含内容的单选按钮列表来解释每个选项。这是来自this great article best practices article.的jquery 1.2版截图,描述文字的大小小于正文。

但是,当我直接从中复制他的示例代码时,它的尺寸会像这样不正确(显示其他控件以供参考尺寸)。

这是示例代码

<fieldset data-role="controlgroup"> 
    <input type="radio" name="radio-choice-1" id="radio-choice-1" value="choice-1" checked="checked" />
    <label for="radio-choice-1">
        <h3 class="ui-li-heading">jQuery Mobile</h3>
        <p class="ui-li-desc">Easy and great for all project from smartphones to dumbphones</p>
    </label>            

    <input type="radio" name="radio-choice-1" id="radio-choice-2" value="choice-2"  />          
    <label for="radio-choice-2">
        <h3 class="ui-li-heading">Sencha Touch</h3>
        <p class="ui-li-desc">Great for complex apps but a higher learning curve</p>
    </label>            

    <input type="radio" name="radio-choice-1" id="radio-choice-3" value="choice-3"  />          
    <label for="radio-choice-3">
        <h3 class="ui-li-heading">jQTouch</h3>
        <p class="ui-li-desc">Simple, lightweight, but focused on webkit</p>
    </label>            
</fieldset>

原来上面的代码不再起作用的原因是它引用了css类名ul-li-desc,它使用在jquery mobile 1.2.1 css中,但不再在最新的css for version 1.4.2中。

新的 1.4.2 版本在ListView component 中有一些非常相似的示例代码,看起来像这样

这里缩小字体大小的c​​ss类是.ui-listview&gt;li p

那么,在 jQuery Mobile 1.4.2 中,创建一个添加内容不多的单选按钮列表的正确方法是什么?

【问题讨论】:

附言。是的,显然我可以自己设计它并节省了 20 分钟来写这个问题,但我试图理解 css 框架并从一开始就做所有事情:-) 或者我应该只是在 ListView 中粘贴单选按钮? +1 评论 ;) 是的,一旦您开始使用 css,您就会了解 JQM。 1.4 比以前的版本更容易,因为团队减少了内部元素的数量 - 例如。 span - 拥有大多数风格。 Firebug 控制组并开始覆盖/探索 :) ps。即使您使用列表视图,您也需要至少覆盖​​lipadding 给你jsfiddle.net/Palestinian/4E485 @omar - 谢谢。你能把这个作为一个真正的答案,所以我可以给你积分 【参考方案1】:

了解 jQM CSS 结构的最简单方法是触发当前视图。 jQM 基于 widget 更改 html 标记,因为它添加了额外的元素并包装了其他元素以便每个最终 UI。

请记住,在覆盖 jQM 样式时,您必须具体且谨慎。大多数小部件共享相同的类(全局类)。

另请注意,从 jQM 1.4 开始,为了提高性能,团队减少了用于设置 widgets 样式的 inner 元素的数量。

/* <p> within <label> */
label p 
  font-size: .9em;
  font-weight: 400;
  display: block;


/* <h3> & <p> within <label> */
label h3, label p 
  margin: .45em;


/* adjust position of radio button itself */
.ui-radio input, label.ui-btn:after 
  top: 35% !important;

Demo

【讨论】:

感谢 Omar - 期待与您一起解决我未来的问题 :-) 呵呵 @Simon_Weaver 不客气!我也很期待为您提供帮助,这将是一种乐趣:)

以上是关于如何在 jQueryMobile 1.4.2 中使用格式化的内容设置单选按钮列表的样式的主要内容,如果未能解决你的问题,请参考以下文章

在jquery mobile中使按钮点击区域更大

jQuery Mobile 1.4.2 + Photoswipe 1.0.11

使用 jQuery Mobile 1.4.2 远程自动完成列表视图提交表单?

如何在 JSF 2.0 中使会话无效?

如何在 TypeScript 中使装饰器类型安全?

如何在 Flutter 的 tabbarwiew 中使 webview 可滚动