【问题标题】:Is it possible to have buttons take the appearance of links in a jQuery Mobile Listview?是否可以让按钮在 jQuery Mobile Listview 中呈现链接的外观?
【发布时间】:2014-04-10 23:57:34
【问题描述】:

我正在尝试创建一个包含按钮和链接的列表视图。我可以对标记进行任何添加/调整以使按钮与链接显示相同吗?在这个阶段,我正在尝试尽可能多地使用标记而不是自定义 CSS(或 JS!)

markup I'm using 是:

<ul data-role="listview" data-inset="true">
    <li><a href="#">Edit</a></li>
    <li>
        <form action="#">
            <button type="submit">Publish</button>
        </form>
    </li>
    <li>
        <form action="#">
            <button type="submit">Delete</button>
        </form>
    </li>
</ul>

我想要的是这个:


(来源:reb4.me

我似乎只能得到这个:


(来源:reb4.me

【问题讨论】:

    标签: jquery-mobile jquery-mobile-listview


    【解决方案1】:

    这是一种方法。

    jQM 1.4

    要获得右侧的箭头图标,请将类 ui-btn ui-btn-icon-right ui-icon-carat-r 添加到按钮:

    <ul data-role="listview" data-inset="true">
        <li><a href="#">Edit</a>
        </li>
        <li>
            <form action="#">
                <button type="submit" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Publish</button>
            </form>
        </li>
        <li>
            <form action="#">
                <button type="submit" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Delete</button>
            </form>
        </li>
    </ul>
    

    然后要移除多余的内边距、边框、阴影等。添加以下 CSS:

    .ui-li-static {
        padding: 0 !important;
    }
    .ui-li-static form button {
        margin: 0;
        box-shadow: none !important;
        border: 0;
        text-align: left;
    }
    

    这是一个DEMO

    jQM 1.3

    如果你被 jQM 1.3 卡住,那就有点复杂了:

    <ul data-role="listview" data-inset="true">
        <li><a href="#">Edit</a>
        </li>
        <li>
            <form action="#">
                <button type="submit" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Publish</button>
            </form>
            <span class="ui-icon ui-icon-arrow-r ui-icon-shadow fakeLinkIcon">&nbsp;</span>
        </li>
        <li>
            <form action="#">
                <button type="submit" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Delete</button>
            </form>
            <span class="ui-icon ui-icon-arrow-r ui-icon-shadow fakeLinkIcon">&nbsp;</span>
        </li>
    </ul>
    
    .ui-li-static {
        padding: 0 !important;
    }
    .fakeLinkIcon {
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -9px;
    }
    .ui-li-static form div.ui-submit{
        padding-right: 2.5em;
    }
    .ui-li-static form div.ui-submit {
        margin: 0;
        box-shadow: none !important;
        border: 0;
        text-align: left;
        border-radius: 0;
    }
    .ui-li-static form div.ui-submit .ui-btn-inner{
        padding-left: 15px;  
    }
    .ui-last-child form div.ui-submit {
         border-bottom-right-radius: 16px;   
         border-bottom-left-radius: 16px;   
    }
    .ui-first-child form div.ui-submit {
         border-top-right-radius: 16px;   
         border-top-left-radius: 16px;   
    }
    

    DEMO

    【讨论】:

    • Thks,太糟糕了,它不能只使用标记来完成。相反,我选择了一个显示按钮的链接——具有防止错误更改资源的额外好处。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 2012-04-05
    • 1970-01-01
    • 2012-05-24
    相关资源
    最近更新 更多