【问题标题】:Put small icon inside listview JQuery Mobile将小图标放在listview JQuery Mobile中
【发布时间】:2014-04-11 23:58:39
【问题描述】:

似乎我无法正确放置图标,有人可以帮助我吗? jQuery Mobile 版本:1.4.2

<div data-role="page" id="pageone">
<div data-role="main" class="ui-content">
<h2>List With Thumbnails and Text</h2>
<ul data-role="listview" data-inset="true">
<li>
<a href="#">
<img src="chrome.png">
<h2>Google Chrome</h2>
<p><img class='ui-icon-home ui-btn-icon-notext ui-btn-icon-left'/> Google Chrome is a free, open-source web browser. Released in 2008.</p>
</a>
</li>
<li>
<a href="#">
<img src="firefox.png">
<h2>Mozilla Firefox</h2>
<p>Firefox is a web browser from Mozilla. Released in 2004.</p>
</a>
</li>
</ul>
</div>
</div> 

结果:

我尝试使用它但不起作用。

<span><i class='ui-icon-home ui-btn-icon-notext ui-btn-icon-left'>Text</i></span> 

【问题讨论】:

  • 你需要什么..删除默认图标并显示这个主页图标或其他一些
  • 我需要将图标放在“Google Chrome 是免费的...”字样旁边。但是即使我把图标的位置放在左边,你也可以看到当前的对齐方式已经到了中心。
  • 检查此jsfiddle.net/QETcC 告诉您需要进行哪些更改
  • 文字和图标应该在同一行
  • checkis it ok jsfiddle.net/Fw9B7/2 还是你想要的

标签: jquery-mobile


【解决方案1】:

如果您希望图标与文本内嵌而不是按钮,则可以这样完成。

首先用class="ui-icon-home ui-btn-icon-notext inlineIcon"为图标添加一个span:

<p>
    <span class="ui-icon-home ui-btn-icon-notext inlineIcon"></span>
    Google Chrome is a free, open-source web browser. Released in 2008.
</p>

然后我们添加以下 CSS:

li p {
    line-height: 24px;
}
.inlineIcon {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    margin-right: 6px;
}

P line-height 为图标垂直腾出空间,而 inlineIcon 类正确放置图标。

如果您不想要灰色磁盘并且更喜欢纯黑色版本的图标,您可以将 ui-alt-icon 类添加到 span 以使其变为黑色,CSS 将是:

.inlineIconNoDisk {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    margin-right: 6px;
}
.inlineIconNoDisk:after {
    background-color: transparent;
}

这是一个DEMO

还有截图:

【讨论】:

    【解决方案2】:

    试试这个代码,它会工作

        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css">
    <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
    
        <div data-role="page" id="pageone">
      <div data-role="main" class="ui-content">
        <h2>List With Thumbnails and Text</h2>
        <ul data-role="listview" data-inset="true">
          <li>
            <a href="#">
                <img src="chrome.png"/>
    
            <h2>Google Chrome</h2>
    
    <div class="ui-grid-a">
        <div class="ui-block-a" style="width:30%;"><button data-icon='home' data-iconpos="notext"></button></div>
        <div class="ui-block-b" style="width:70%;"> <p>Google Chrome is a free, open-source web browser. Released in 2008.</p></div></div>
            </a>
          </li>
          <li>
            <a href="#">
                <img src="firefox.png"/>
            <h2>Mozilla Firefox</h2>
    
    
    
                <div class="ui-grid-a">
        <div class="ui-block-a" style="width:30%"><button data-icon='home' data-iconpos="notext"></button></div>
        <div class="ui-block-b" style="width:70%;padding-bottom:5%;"> <p>Firefox is a web browser from Mozilla. Released in 2004.</p></div>
    
    </div>
            </a>
          </li>
        </ul>
      </div>
    </div> 
    

    参考这个Fiddle Demo

    【讨论】:

    • 除了使用按钮/任何可点击标签之外的任何解决方案?
    • 我想做这样的事情,但我做不到i61.tinypic.com/b8sm8j.png
    • 这些和所有都是带有图标的锚标记..你不能像你期望的那样使用锚内部的锚。
    • 我可以更改哪些内容以使其适合?因为目前的解决方案不适合文字和图片......
    • 如果你想像文本一样适合图像,做一些 CSS 工作或其他明智的使用按钮来获取相同的文本和图像。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    相关资源
    最近更新 更多