¿Es posible que los botones adopten la apariencia de enlaces en una vista de lista de jQuery Mobile?

StackOverflow https://stackoverflow.com//questions/23001183

Pregunta

Estoy intentando crear una vista de lista que contenga una combinación de botones y enlaces.¿Hay alguna adición/ajuste que pueda hacer al marcado para que los botones aparezcan igual que los enlaces?En esta etapa, estoy tratando de hacer todo lo que puedo en marcado y no en CSS personalizado (¡o JS!)

El marcado que estoy usando es:

<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>

Lo que me gustaría es esto:

Listview
(fuente: reb4.me)

Parece que solo puedo entender esto:

Listview bad
(fuente: reb4.me)

¿Fue útil?

Solución

Aquí tienes una forma de hacerlo.

jQM 1.4

Para obtener los íconos de flecha a la derecha, agregue las clases ui-btn ui-btn-icon-right ui-icon-carat-r a los botones:

<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>

Luego, para eliminar el relleno adicional, los bordes, las sombras, etc.agrega este CSS:

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

Aquí hay un MANIFESTACIÓN

jQM 1.3

Si estás atascado con jQM 1.3, es un poco más complicado:

<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;   
}

MANIFESTACIÓN

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top