带按钮的 jQuery 移动标题位置

发布于 2024-12-18 13:53:48 字数 1574 浏览 0 评论 0原文

我有一个在 iPhone (iOS 5) 上运行的简单应用程序,它无法正确调整后退按钮和标题文本的大小和位置。标题文本最终位于按钮下方。我猜 jQuery Mobile 不会按照开箱即用的方式调整大小/位置...

我所追求的是标题文本被截断并从后退按钮的右侧开始。标题右侧不会有其他按钮,因此如果它位于页面右侧就可以了。

    <!DOCTYPE html>
    <html>
        <head>
            <title>Page Title</title>
            <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css"/>        
            <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
            <script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>    </head>
        <body>
            <div data-role="page">
                <div data-role="header">
                    <a data-icon="arrow-l" data-rel="back">A long button</a>
                    <h1>A very very very long title</h1>
                </div>

                <div data-role="content">
                    <p>Page content goes here.</p>   
                </div>

                <div data-role="footer">
                    <h4>Page Footer</h4>
                </div>
            </div>
        </body>
    </html>

可运行的示例位于: http://jsfiddle.net/5n8WN/

我确实看过这个答案但我所做的尝试并没有得到我想要的。

I have a simple app that I am running on an iPhone (iOS 5), which doesn't properly size and position the back button and the header text. The header text winds up being underneath the button. I guess jQuery Mobile doesn't size/position things as expected out of the box...

What I am after is that the header text gets truncated and starts to the right of the back button. There won't be another button to the right of the title, so it is fine if it goes to the right of the page.

    <!DOCTYPE html>
    <html>
        <head>
            <title>Page Title</title>
            <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css"/>        
            <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
            <script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>    </head>
        <body>
            <div data-role="page">
                <div data-role="header">
                    <a data-icon="arrow-l" data-rel="back">A long button</a>
                    <h1>A very very very long title</h1>
                </div>

                <div data-role="content">
                    <p>Page content goes here.</p>   
                </div>

                <div data-role="footer">
                    <h4>Page Footer</h4>
                </div>
            </div>
        </body>
    </html>

A runnable example is at: http://jsfiddle.net/5n8WN/

I did look at this answer but what I did try didn't get me what I wanted.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无声无音无过去 2024-12-25 13:53:48

您的标题被覆盖的原因是 H1 标签的左右两侧有一个 90px 边距,并且您的后退按钮大于 90px代码>.您可以更改 .ui-title 类的 CSS 规则来解决此问题:

.ui-title {
    margin     : 0.6em 1em 0.8em 140px !important;
    text-align : left !important;
}

这是一个 jsfiddle:http://jsfiddle.net/jasper/5n8WN/1/

The reason your title is being covered is that there is a 90px margin on the right/left of the H1 tag and your back button is larger than 90px. You can change the CSS rules for the .ui-title class to fix this:

.ui-title {
    margin     : 0.6em 1em 0.8em 140px !important;
    text-align : left !important;
}

Here is a jsfiddle: http://jsfiddle.net/jasper/5n8WN/1/

极致的悲 2024-12-25 13:53:48

自定义标头配置
如果您需要创建一个不遵循默认配置的标头,只需包装您的自定义
标题容器内的容器 div 中的样式标记和
插件不会应用自动按钮逻辑,因此您可以编写自定义
用于在标题中布置内容的样式。

也可以在不使用标题的情况下创建自定义栏
数据角色根本不存在。例如,从任何容器开始并添加
ui-bar 类应用标准栏填充并添加 ui-bar-b 类
从您的主题分配条形样本样式(“b”可以是任何
样本信)。

示例:

<div class="ui-bar ui-bar-b">
    <h3>I'm just a div with bar classes and a <a href="#" data-role="button">Button</a></h3>
</div>

Custom header configurations
If you need to to create a header that doesn't follow the default configuration, simply wrap your custom
styled markup in a container div inside the header container and the
plugin won't apply the automatic button logic so you can write custom
styles for laying out the content in your header.

It's also possible to create custom bars without using the header
data-role at all. For example, start with any container and add the
ui-bar class to apply standard bar padding and add the ui-bar-b class
to assign the bar swatch styles from your theme (the "b" can be any
swatch letter).

Eample:

<div class="ui-bar ui-bar-b">
    <h3>I'm just a div with bar classes and a <a href="#" data-role="button">Button</a></h3>
</div>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文