jQuery移动按钮对齐问题

时间:2013-03-27 09:26:47

标签: javascript jquery jquery-mobile

我正在尝试jQuery Mobile,我发现它有点令人困惑,因为它是一个标记驱动的框架。

我创建了一个测试页面,我只是尝试将一个按钮对齐,但我无法做到这一点。我试过float: right,但它不起作用。虽然margin-left通过给出特定百分比起作用,但是当我调整页面大小时,同样不起作用。

这是我的Fiddle code。任何帮助都会很棒。

<div data-role="page">
    <div data-role="header" data-theme="b" data-position="fixed">
        <h1 style="font-size: 1.5em; text-align: left; margin-left: 70px;"
            data-role="none">Test</h1>
    </div>

    <div id="contentLogin" align="center" name="contentConfirmation" data-role="content">

        <p style="font-size: 0.85em; color: #000000">
            <b>Welcome to my page</b>
        </p>
        <br>
        <div class="ui-grid-b responsive">

            <div style="margin: 0px; margin-top: 0px; margin: 0px;" class="ui-block-a">

                <div data-role="fieldcontain">
                    <label for="url" class="alignleft">Username:*</label>
                    <input id="userId1" class="required" name="uid_r" placeholder="" type="text">
                </div>
                <div data-role="fieldcontain">
                    <label for="url" class="alignleft">Password:*</label>
                    <input id="Password1" class="required" name="pwd_r" value="" type="password">
                </div>
                <button id="login" data-theme="a" type="button" href="home.html" data-mini="false" data-inline="true" >Login</button>

            </div>
            <div class="ui-block-b">BLOCK A ADS</div>
            <div class="ui-block-c" style="margin-top: 0px;">
                BLOCK C
            </div>

        </div>
    </div>
    <div data-role="footer" data-theme="b" data-position="fixed">
    </div>
</div>

4 个答案:

答案 0 :(得分:13)

为什么不将按钮放在div中并右对齐div?包括按钮在内的父div内的所有内容都将右对齐。

<div align="right"><button id="login" data-theme="a" type="button" href="home.html" data-mini="false" data-inline="true" >Login</button></div>

查看小提琴http://jsfiddle.net/mayooresan/96s59/2/

答案 1 :(得分:6)

使用ui-btn-right。它更容易,更简洁,而且(我认为)是jquery做事的方式。

<a href="#" class="ui-btn-right ui-btn-inline">Login</a>

答案 2 :(得分:4)

之前的答案是正确的,但您应该使用CSS样式(aling =“”已弃用)

<div style="text-align: right;">
<button data-inline="true">Login</button>
</div>

答案 3 :(得分:2)

如果你想要多个按钮,你可能会遇到问题......

尝试:

<div style="float:right">`
    <button data-inline="true">Login</button>
</div>

如果你想要多个按钮(左右对齐)。

如果您使用:

<div style="text-align: right;">
    <button data-inline="true">Login</button>
</div>

div将在任何现有按钮下方开始一个新块,因此您无法在左侧显示其他图标。

ui-btn-icon-left|right可让您将按钮左右对齐,但我发现使用ui-btn-icon-right的两个按钮会使它们重叠。

下面的模板为我工作了两个左对齐按钮,右边两个按钮:

<a href="#home" class="ui-btn">Home</a>
<a href="#intro" class="ui-btn">Intro</a>
<div style="float:right">
    <a href="#review" class="ui-btn">Review</a>
    <a href="#exit" class="ui-btn">Exit</a>
</div>  

enter image description here